python-3.x - 展开直到找到匹配的 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”,插入符号不能满足我的需求。
解决方案
推荐阅读
- javascript - 将字段设置为数组中的对象,Vega-lite
- lua - LUA:无法理解 ax 和 a[x] 之间的区别
- reactjs - 如何使用语义 UI 显示单个表单输入的错误消息?
- xaml - 使用 Uno.Platform ElevatedView 居中阴影
- r - 根据另一列中组的第一个实例减去一个值
- toad - Toad - 复制到另一个模式时出错“未为任何表配置 Where 子句。”
- javascript - 无法设置机器人的头像不和谐js
- python - 具有高维数据集的层次聚类图
- python - 盈透证券 Python API:contractDetails 请求打印良好,但不会返回
- ios - 上传任务完成后可以启动后台任务吗?