我有一个疯狂的问题。
我正在尝试使用 pyparsing 来解析这样的内容:(点是不重要的抑制文本)
...... A
B .......
B .......
...... A
B .......
B .......
我需要的是这样的:(将 A 和 B 元素连接到一个列表中)
[ [ [A],[B,B] ], [ [A],[B,B] ] , ...]
这是我的代码,它不起作用,只返回第一个 [A]
table = pyparsing.OneOrMore(pyparsing.Group(A + (pyparsing.OneOrMore(pyparsing.Group(B) | pyparsing.SkipTo(B).suppress()))) | pyparsing.SkipTo(A).suppress())
我已经解决了这个 pyparsing 成这样的列表:
[ [A],[B],[B], [A],[B],[B] , ...]
但这是不可接受的,因为 A 和 B 元素没有直接连接在一个列表中。
值得一提的是
table1 = pyparsing.ZeroOrMore(pyparsing.Group(A) | pyparsing.SkipTo(A).suppress())
table2 = pyparsing.ZeroOrMore(pyparsing.Group(B) | pyparsing.SkipTo(B).suppress())
工作并返回所有 A 元素和 B 元素的列表。