问题标签 [pyparsing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PyParsing OR 语句
这最终会变得非常简单,但我正在尝试匹配两种模式之一:
或者
我试过这样的事情:
但它似乎不匹配。我完全不确定如何使用 Or(),如果我应该使用 Group(),或者什么。我知道 Group() 类中提供的参数如果单独调用就可以工作,但我真的需要破折号或带引号的 URI 字符串,而不仅仅是一个。
无法协商日志格式,我们正在消耗我们得到的东西。任何提示将非常感谢。
pyparsing - 在pyparsing中需要确认PEG的语义谓词
PEG论文描述了两种语义谓词解析表达式:
- 和谓词
&e
- 非谓词
!e
pyparsing 是否支持 And 谓词?或者这只是排序解析表达式的同义词?在这种情况下,它应该等同于And
类。正确的?
是否NotAny
代表 Not 谓词?
具体来说,它们是否符合规范的行为:
解析表达式 foo &(bar) 匹配并使用文本“foo”,但前提是它后面跟着文本“bar”。解析表达式 foo !(bar) 匹配文本“foo”,但前提是它后面没有文本“bar”。表达式 !(a+ b) a 匹配单个“a”,但前提是它不是 a 后跟 a b 的任意长序列中的第一个。
python - 用 pyparsing 匹配非空行
我正在尝试制作一个小型应用程序,用于pyparsing
从另一个程序生成的文件中提取数据。
这些文件具有以下格式。
我如何构造有助于提取line 1
, line 2
...line 4
和line a
..的语法line c
?我正在尝试制作这样的建筑
但我不知道如何定义NonEmptyLines
和EmptyLine
。谢谢。
python - 为什么当我启用 packat 时,pyparsing 返回不同的解析树?
这只是一个测试回溯的玩具语法:
禁用packrat后,返回的解析树
启用packrat后,我得到
为什么会发生这种情况,在最后一种情况下?谢谢
python - 空产品对 PEG 的作用是什么?
空生产规则
在 lex-yacc LR 自底向上解析器生成器(例如 PLY)中很有用。
在什么情况下应该在 PEG 解析器中使用 Empty 产生式,例如 pyparsing ?
python - Pyparsing - 从混合的 jascii/ascii 文本文件中解析 jascii 文本?
我有一个混合了 jascii/shift-jis 和 ascii 文本的文本文件。我正在使用pyparsing
并且无法标记此类字符串。
这是一个示例代码:
我得到:
这是文本文件的内容:
(没有引号)
python - 如何将值传递给pyparsing parseactions?
具体来说,我想编写一个通用的 parseaction 函数来验证数字范围。我想将最小值和最大值传递给函数。这可能吗 ?
python - 将 setResultsName 与 listAllMatches 一起使用时,一些匹配项是嵌套的
基于此语法:
我发现满足eg
非终结符的标记总是包含在一个额外的列表中。唯一的区别g
是它有一个领先的`Suppress('-')'。
如何使它们的行为相同?我想达到以下结果:
python - 为什么 pyparsing 不是递归下降解析器?
递归下降解析的维基百科条目判断 pyparsing 不是递归下降。递归下降的定义确定了这些属性:
- 每个非终结符都有一个到处理该非终结符的生产规则扩展的函数的一对一映射。
- 令牌从左到右读取(自上而下解析)
- 在这些函数内部,它将调用其他函数来解析子表达式,这些函数可以是右递归的。
我知道 pyparsing 使用更面向对象的设计,而不是解析器组合器方法。这是取消 pyparsing 资格的技术性吗?
parsing - 从先前解析的值中解析特定数量的行
我正在使用 pyparsing 来获取gEDA原理图/符号文件格式。大多数都是直截了当的,但我不确定如何匹配由初始行上的整数字段指定的后续行数。
文本对象的格式如下:
num_lines是一个整数。这种风格也用于其他一些类型。
作为一种变通方法,我将此类行定义为与有效对象类型不匹配的任何内容。从技术上讲,文本对象中允许使用这种类似对象的线条
动态生成匹配规则,例如:
是在桌子上,但我不知道如何指定规则。