gpt4 book ai didi

python - Pyparsing 找到文件中的第一次出现

转载 作者:行者123 更新时间:2023-12-01 05:15:40 26 4
gpt4 key购买 nike

我正在通过解析文件

output=wilcard.parseFile(myfile)
print output

我确实只得到了字符串的第一个匹配。

我有一个大的配置文件需要解析,其中的“条目”用大括号括起来。我希望看到文件中的所有匹配项或不匹配的异常。

我如何实现这一目标?

最佳答案

默认情况下,pyparsing 会从第一个字符开始找到最长的匹配。因此,如果您的解析由 num = Word('0123456789') 给出,则解析 "462""462-780" 将两者返回相同的值。但是,如果传递了 parseAll=True 选项,则解析将尝试解析整个字符串。在这种情况下,"462" 将被匹配,但解析 "462-780" 将引发 ParseException,因为解析器不知道如何处理破折号.

我建议构造一些与整个文件匹配的内容,然后在 parseFile() 中使用 parseAll=True 标志。如果我正确理解您对用大括号分隔的每个条目的描述,则可以执行以下操作。

entire_file = OneOrMore('[' + wildcard + ']')
output = wildcard.parseFile(myfile,parseAll=True)
print output

关于python - Pyparsing 找到文件中的第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23292647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com