我想从文本文件中只提取一些结构化模式。
例如,在下面的文本中:
blablabla
foo FUNC1 ; blabliblo blu
我只想隔离'foo FUNC1;'。
我试图将云雀解析器与以下解析器一起使用
foo=Lark('''
start: statement*
statement: foo
| anything
anything : /.+/
foo : "foo" ID ";"
ID : /_?[a-z][_a-z0-9]*/i
%import common.WS
%import common.NEWLINE
%ignore WS
%ignore NEWLINE
''',
parser="lalr" ,
propagate_positions=True)
但是“任何东西”这个代号涵盖了所有内容。有没有办法让它不贪心?这样令牌'foo'可以捕获给定的模式?