Khoa Nguyen
2006-05-17 21:47:05 UTC
I run into another issue with my grammar:
My input record contains a common part and an extended part. Based on
the value of the common part, the extended part will be different. So,
I am thinking of parsing the common part first and check the common's
value and then parse again for the rest of the record. How do I tell
pyparsing to start the 2nd parse at the exact location where the 1st
parse left off?
######################################
from pyparsing import *
common = Word('aA').setResultsName('value')
extend1 = Word('b')
extend2 = Word('c')
result = common.parseString(record)
if result.value == 'a':
result1 = extend1.parseString(???)
else:
result2 = extend2.parseString(???)
######################################
Thanks,
Khoa
My input record contains a common part and an extended part. Based on
the value of the common part, the extended part will be different. So,
I am thinking of parsing the common part first and check the common's
value and then parse again for the rest of the record. How do I tell
pyparsing to start the 2nd parse at the exact location where the 1st
parse left off?
######################################
from pyparsing import *
common = Word('aA').setResultsName('value')
extend1 = Word('b')
extend2 = Word('c')
result = common.parseString(record)
if result.value == 'a':
result1 = extend1.parseString(???)
else:
result2 = extend2.parseString(???)
######################################
Thanks,
Khoa