问题标签 [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.

0 投票
4 回答
310 浏览

python - 使用 Python 解析和分组字符串中的文本

我需要解析一系列由 3 个部分组成的短字符串:一个问题和 2 个可能的答案。该字符串将遵循一致的格式:

这是问题“answer_option_1 在引号中”“answer_option_2 在引号中”

我需要确定问题部分以及单引号或双引号中的两个可能的答案选择。

例:今天的天空是什么颜色的?“蓝色”或“灰色”
谁将赢得比赛“密歇根”“俄亥俄州”

我如何在python中做到这一点?

0 投票
1 回答
689 浏览

python - pyparsing 不是嵌套列表...为什么?

出于某种原因,pyparsing 没有为我的字符串嵌套列表:

我不确定为什么 pyparsing 没有在 22+、AKo-ATo 和 KQz(或任何比这更深的层)周围创建列表。我错过了什么?

0 投票
1 回答
1172 浏览

python - 使用 pyparsing 匹配行首的空格

我正在尝试使用 pyparsing 作为练习来解析统一的 diff 文件,但我无法得到正确的结果。这是我的差异文件中给我带来麻烦的部分:

第一行以“”开头,然后是“banana”。我有以下表达式来解析一行:

这在解析单行时有效,但是当我尝试解析整个文件时,“leaveWhitespace”指令使解析器从最后一行的末尾开始。在我的示例中,在解析“banana”之后,下一个字符是“\n”(因为 leaveWhitespace),解析器会尝试匹配“”或“+”或“-”,因此会引发错误。

我该如何正确处理?

0 投票
2 回答
291 浏览

regex - 使用 pyparsing 解析正则表达式列表(字面意思)

我想解析一个正则表达式列表来计算每个在某个文本/字符串中找到匹配项的可能性...

例如。在长度为 1 的字符串中找到 ' [AB]' 应该是 1/13 左右(仅考虑大写字母)。

是否有一个通用的正则表达式解析器,它返回各个位置/替代方案?我正在考虑获取职位列表作为回报(' [AB].A{2}'会产生' [['A','B'],'.',['AA']')

问题是用 pyparsing 解析正则表达式。简单的正则表达式没有问题,但是当谈到“替代”重复时,我迷失了:我发现很难解析像' ((A[AB])|(AB))'这样的嵌套表达式。

有什么想法吗?

0 投票
4 回答
1913 浏览

python - Pyparsing:如何解析数据,然后编辑 .txt 文件中的特定值?

我的数据位于 .txt 文件中(不,我不能将其更改为其他格式),它看起来像这样:

varaiablename = value
something = thisvalue
youget = the_idea

到目前为止,这是我的代码(取自 Pyparsing 中的示例):

那么如何告诉我的脚本编辑特定变量的特定值呢?
示例:
我想将变量名的值从 value 更改为 new_value。所以本质上是变量=(我们要编辑的数据)。

我可能应该明确表示我不想直接进入文件并通过将 value 更改为 new_value 来更改值,但我想解析数据,找到变量然后给它一个新值。

0 投票
1 回答
496 浏览

python - pyparsing:从解析的数据中获取结果

我正在SQL尝试CREATE TABLE使用pyparsing. 对于数据库名称和表表,我创建了标识符:

我也在使用这种解析方法:

对于以下输入:

我得到:

为什么这些不同?我怎样才能以第一种方式获得输出,作为简单的列表?我只有在打印这些值时才得到它。

0 投票
2 回答
2122 浏览

python - 带有 pyparsing 的递归表达式

我试图弄清楚如何做一个左关联表达式,其中递归(不包含在任何东西中)表达式是可能的。例如,我想做:

将 2 个操作解析1 x 2 x 3(expr OP expr) OP expr结果。

如果我试图防止expr解析无限递归,我可以执行以下操作:

但后来我会得到expr OP (expr OR expr)结果。

如何强制左侧绑定?

编辑:我知道operatorPrecedence但是当操作员是"IS" + Optional("NOT")或类似的时,它似乎不正确匹配。

0 投票
2 回答
3370 浏览

python - Pyparsing:空间作为有效令牌

我正在使用 pyparser 处理十六进制到文本转换器的输出。它每行打印 16 个字符,以空格分隔。如果十六进制值是 ASCII 可打印字符,则打印该字符,否则转换器输出句点 (.)

大多数情况下,输出如下所示:

我描述这一行的 pyparsing 代码是:

这工作正常,直到十六进制到文本转换器达到 0x20 的十六进制值,这导致它输出一个空格。

在这种情况下,pyparsing 会忽略输出的空格并占用下一行中的字符以形成 16 个字符的“配额”。

有人可以建议我如何告诉 pyparsing 期望 16 个字符,每个字符用空格分隔,其中空格也可以是有效字符?

提前致谢。Ĵ

0 投票
1 回答
575 浏览

java - 如何从文本文件集合中提取某些值

比如说,我有一组需要处理的文本文件(例如,搜索某个标签并提取值)。解决问题的一般方法是什么?

我还读到了这个:“从 Python 中检索变量值”,但它似乎不适用于我面临的某些情况(比如tab使用而不是:

无论使用哪种语言,我只想知道解决问题的最合适方法。

说我有类似的东西:

我希望能够访问/检索的值Backup Operators并获取COMMERCE/cabackup&COMMSVR21/sys5erv1c3作为回报。

你会怎么做?

我想到的是阅读整个文本文件,正则表达式搜索,可能还有一些 if else 语句。这有效吗?或者也许将文本文件解析成一些数组并检索它?我不知道。

就像在另一个例子中说:

您将如何检查文本文件Policy = MaximumPasswordAge并返回值45

谢谢!

p/s——我可能会在 Python 中执行此操作(零知识,因此可以随时学习)或 Java

pp/s——我刚刚意识到没有剧透标签。唔

--

例如日志: 具有目录权限的日志:

另一个具有以下内容:

这是制表符分隔的一个:

0 投票
1 回答
438 浏览

python - 使用 pyparsing 匹配字符串的特定结尾

如何构建与特定字符串结尾匹配的 python pyparsing 结构。例如,假设我想查找所有以 'ing' 结尾的单词。以下不起作用:

ing_ending = Word(alphas) + Literal("ing") + White(); ing_ending.parseString("jumping")

这在 python 和正则表达式中很容易做到,但在 pyparsing 中给我带来了麻烦。