首页 > 解决方案 > 展开直到找到匹配的 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))

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

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

标签: python-3.xpyparsing

解决方案


推荐阅读