问题标签 [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 可选子字段
这是pyparsing, Each, results name的延续。我在 pyparsing 方面取得了巨大的成功,但是在按子句解析 SQL order by 时我被卡住了。问题是任何字段都可以设置为升序或降序。
因此,SQL 查询可能如下所示:
我一直在摸索,我想出的最好的是:
对于类似的东西ORDER BY c asc, d desc
,这匹配c
我订购的第一件事,并且asc
是我的订单目录,但没有到达d
.
['c asc', 'd desc']
只要我仍然可以进入那里,我很乐意将输出视为类似的东西columnNameList
。
有没有办法用pyparsing处理这个问题?我的问题不清楚吗?
python - 使用 pyparsing 进行非贪婪解析
我正在尝试用 pyparsing 解析一行。该行由许多(键,值)组成。我想得到的是(键,值)的列表。一个简单的例子:
应该导致类似: [('ids', '12'), ('fields', 'name')]
一个更复杂的例子:
应该导致类似: [('ids', '12, 13, 14'), ('fields', 'name, title')]
PS:结果列表中的元组只是一个例子。它可能是一个字典或另一个列表或其他任何东西,这并不重要。
但是到目前为止,无论我尝试过什么,我都会得到如下结果:
[('ids', '12 fields')]
考虑到它也是价值的一部分,Pyparsing 正在吃下一个密钥。
这是一个示例代码:
有人能帮我吗 ?谢谢。
python - 字典列表和 pyparsing
我正在使用 pyparsing 构建附加到列表的字典。当我这样做时,字典会被包裹在一个额外的列表中,并且还会附加一个空字典。我不知道如何解决这个问题。我想要的是[{},{},{}]
。我得到了[([{}],{})]
为什么来自 getDict 的代码给了我我想要的而不是 getDictParse?
输出:
python - 如何在 pyparsing 中指定令牌排序?
假设我正在解析以下行:
我想将其解析为:
我目前的 pyparsing 定义是:
发生的事情是some_words
吞噬了 ' jumps'
,我得到了一个解析错误。如何使 pyparsing lex 将跳转作为文字标记?
python - 如何告诉 pyparsing 丢弃部分已解析字符串?
我正在为一些标记的数据编写解析器,我希望 pyparsing 在最终结果中丢弃诸如开始和结束标记之类的东西,只留下数据。
我可以这样做,还是我只需要适当地命名值并手动将它们拉出来?
python - 使用 pyparsing 有什么问题
我写这个来解析我自己的 .dotf 文件:
下面是 .dotf 文件的示例
但它有问题:
第 3 行的第 15 列是空格,不是吗?
那么,怎么了?
谢谢!
python - Pyparsing:尝试非贪婪导致无限循环
我正在尝试为RCS 文件格式创建解析器,但是,当尝试在 RCSadmin 的上下文中解析 RCSid 时,它会遇到无限循环。删除违规行
导致挂起不会发生。其上的 RCSid 成功解析字符串。有什么建议么?
这是我所拥有的:
输出(^C 挂起):
multiprocessing - pyparsing - 并行日志处理的性能技巧
我正在使用 2 个进程池来并行解析多个日志文件,
然而,它在初始运行时相当慢,大约 12 个 ~20Mb 文件约 16 分钟。
考虑到我将每 2 或 3 分钟解析一次日志新字节,在下一次迭代中不会有太大问题,但在第一次运行时肯定还有改进的余地。将日志预先分割成几个较小的拼接(这样 pyparse 就不必将整个日志分配到内存中)会加快速度吗?
我仍在双核开发 VM 上运行它,但很快将不得不迁移到四核物理服务器(我将尝试获得额外的四核 CPU),它可能需要能够管理 ~50日志。
原木的拼接,
使用 pyparse,
python - 使用 ebnf 和空格进行 pyparsing
我正在使用http://pyparsing.wikispaces.com/file/view/ebnf.py来转换我的 ebnf 定义。
ebnf def 看起来像这样:
如果我加载文件并尝试解析如下字符串:
我得到:
有人有想法/解决方案吗?
python - ParseException:预期的文本结尾
我正在尝试使用 pyparsing 解析文本。我的功能如下图所示。首先,我构建了一个列表,其中包含我的字典中的所有术语(我网站中常用术语的字典)。然后我将我的语法设置为这个常用单词列表。然后我用语法构造 ZeroOrMore 对象。最后,我解析字符串,我应该得到在我的字符串中找到的匹配项。但是,它会抛出 ParseException ,而不是抱怨预期文本结束。
根据 pyparsing 主页http://pyparsing-public.wikispaces.com/FAQs中的常见问题解答,如果我希望解析器解析整个字符串,我应该将 StringEnd() 放入我的语法中,或者使用可选的 arg parseAll=True。如果我从我的代码中删除 parseAll=True 它可以工作,但它不会解析整个字符串。
有任何想法吗?