PyParsing:是否可以全局抑制所有文字?

2024-05-03

我有一个简单的数据集,可以使用如下行进行解析:

R1 (a/30) to R2 (b/30), metric 30

我需要的唯一数据如下:

R1, a, 30, R2, 192.168.0.2, 30, 30

我可以使用 pyparsing 轻松解析所有这些内容,但我要么最终在输出中得到一堆文字,要么我必须特别说明Literal(thing).suppress()在我的解析语法中,这变得很烦人。

理想情况下,我想为上面编写一个语法,例如:

Word(alphanums) + '(' + Word(alphanums) + '/' + Word(nums) + ... etc.

并让文字标记被忽略。我可以说类似的话吗.suppressAllLiterals()?

Notes:

  • PyParsing 新手
  • 我已阅读文档和 5 或 6 个示例
  • 搜索谷歌

Thanks!


您可以使用此方法ParserElement- 导入 pyparsing 后立即调用它:

from pyparsing import ...whatever...
ParserElement.inlineLiteralsUsing(Suppress)

现在解析器中的所有字符串文字都将被包装在Suppress对象,并排除在结果之外,而不是默认值Literal.

(有一天,当我可以打破向后兼容性时,我可能会将其设为 v3.0 中的默认值。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyParsing:是否可以全局抑制所有文字? 的相关文章

  • 如何使用jq通配符

    我有以下 json details car bmw addresses ext 118 21 8 0 29 version 4 addr 89 Psr version 6 addr 56 apT The key ext 118 21 8 0

随机推荐