PyParsing Or 展开直到找到匹配的运算符

问题描述

import pyparsing as pp

one = pp.Literal("ab").setName("one")
two = pp.Literal("aba").setName("two")
combined = (one | two) + "e"
combined.setName("combined")

print(combined.parseString("abae",parseAll=True))

在英语中,我希望“abae”匹配,因为“如果 ab 或 aba 后跟 e 则有效”。想知道如何使用图书馆做同样的事情。即以尝试所有选项的方式定义“或”匹配的规则。

理解管道操作符首先指示匹配,我对上面的例子失败并不感到惊讶。我考虑过插入符号,但也有一些情况,比如上面例子中的“abe”,插入符号不能满足我的需求。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)