8得票2回答
使用pyparsing的递归表达式

我想研究如何实现左结合表达式,其中可以包含递归(不嵌套在任何东西中的)表达式。例如,我想执行以下操作: expr + OP + expr 将类似于1 x 2 x 3的2个操作解析为(expr OP expr) OP expr结果。 如果我试图防止expr解析无限递归,可以尝试以下方法:...

8得票2回答
Pyparsing:将空格作为有效标记

我正在使用pyparser处理十六进制转文本工具的输出结果。每行输出16个字符,中间用空格隔开。如果十六进制值是可打印ASCII字符,则输出该字符;否则,转换器输出一个句点(.)。 大多数情况下,输出结果如下: . a . v a l i d . s t r i n g . . a n o...

8得票3回答
使用PyParsing解析Snort日志

使用pyparsing模块解析Snort日志时遇到了问题。 问题在于分离Snort日志(其中有多行条目,由空行分隔),并使pyparsing将每个条目作为整个块进行解析,而不是逐行读取并期望语法与每行一起工作(显然,它不会这样做)。 我尝试将每个块转换为临时字符串,在每个块内去除换行符,但...

8得票2回答
从'pyparsing.ParseResults'中获取纯列表

我目前正在尝试将pyparsing的结果作为纯列表获取,以便我可以对其进行扁平化处理。我在文档中阅读到: 通过调用asList(),ParseResults也可以转换为普通字符串列表。请注意,这将剥离任何嵌入式解析元素的任何字段名称的结果。(pprint模块非常擅长打印由asList()给...

8得票2回答
在pyparsing中处理嵌套结构的技巧

我正在努力使用PyParsing解析嵌套结构。我已经查看了许多'嵌套' PyParsing示例用法,但我不知道如何解决我的问题。 这是我的内部结构样式: texture_unit optionalName { texture required_val prop_name1 ...

8得票1回答
如何在pyparsing中禁止文本字面量之间存在空格?

grammar = Literal("from") + Literal(":") + Word(alphas) 语法需要拒绝 from : mary,只接受 from:mary,即没有交错的空格。我该如何在 pyparsing 中实现这一点?谢谢。

8得票1回答
使用pyparsing定义C#语法变量

如何在源C#代码中找到所有的变量?这是我的非工作语法,不起作用,因为ZeroOrMore(VarDef4)。 Protected = Literal("protected") Private = Literal("private") Public = Literal("public"...

7得票2回答
打印出pyparsing结果的树形结构

我正在使用pyparsing来解析十六进制字符串,我正在寻找一种自动打印解析器树的方法。 近似的方法是使用dump命令,但它会打印大量重复的信息。 例如: from pyparsing import * #Word, Optional, OneOrMore, Group, ParseEx...

7得票2回答
使用pyparsing进行结果的类型检查

我是一个新手在使用pyparsing,但我无法找到如何解决这个相当简单的问题。目前我有一个简单的语法,但我找不到根据我在语法中定义的类型来分辨解析结果的方法。 也许通过一个例子来解释会更容易些。假设有这个元素: elem = foo | bar 当我调用时: elem.parseSt...

7得票3回答
如何在Python中解析JSON-XML混合文件

我愿意用Python解析以下具有如下语法(但嵌套层数不确定)的文件: <XProtocol> { <str1."fds"> "str2" <str3> 123.0 <str4> { 1 2 3 4 5 6 6 "str"...