我正在尝试使用 pyparsing 编写解析器。这是我的语法定义中的一个片段:
import pyparsing as pp
Modifier = pp.Word(pp.alphas)
Name = pp.Literal("foobar")
Sentence = pp.Optional(Modifier) + Name + pp.Group(pp.OneOrMore(Modifier))
这是我解析示例字符串时发生的情况:
>>> print Sentence.parseString("testA FOOBAR testB testC")
['testA', 'FOOBAR', ['testB', 'testC']]
有什么方法可以修改我上面的语法规则,以便将第一个可选修饰符推入以下组?
例子:
>>> print MagicSentence.parseString("test A FOOBAR testB testC")
['FOOBAR', ['testA', 'testB', 'testC']]