我有一个简单的数据集,可以使用如下行进行解析:
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(使用前将#替换为@)