pyparsing

    1热度

    1回答

    我一直在思考这个问题一段时间,我似乎无法找到解决方案。 我正在使用pyparsing来解析包含事件摘要的文本文件。每个文本文件都包含许多事件。每个事件的标题信息几行后,列出多个人和数据对他们来说,格式如下: 字整数:用户名(整数字字字) 字是静态的并且总是相同 整数是任何诠释 用户名可以是任何Unicode字符,包括符号,并能还包括空格 我似乎无法建立一个可以处理所有这些可能性的语法。解析奇怪的u

    2热度

    2回答

    我正在开发DOT语言的解析器,并遇到“子图”语句问题。 我没有问题让我的SUBGRAPH解析表达式正常工作(请参见下面的片段),但是当我在STMT中添加它作为替代时它无法匹配。 简单的测试: test = '''subgraph cluster01 { n003 ; n004 ; }''' FRAG_1 = SUBGRAPH + StringEnd() FRAG_2 = STMT + Stri

    1热度

    1回答

    我有一个关于嵌套语法的问题。你如何使pyparsing寻找嵌套的语法结构。 from pyparsing import Word, alphas, alphanums, Suppress, LineEnd, LineStart, nums, Or, Group, OneOrMore, Literal, CaselessLiteral, Combine, Optional word = Word

    2热度

    1回答

    我在为IBM Rhapsody sbs文件格式构建解析器。但不幸的是,递归部分将无法按预期工作。规则pp.Word(pp.printables + " ")可能是问题,因为它也匹配;和{}。但至少;也可以是值的一部分。 import pyparsing as pp import pprint TEST = r"""{ foo - key = bla; - value =

    1热度

    1回答

    我需要解析一些语句,但希望灵活使用多个单词来表示语句。 例如。 string = """ start some statement end other stuff in between start some other statement. other stuff in between start another statement """ 在这种情况下 end, .和行末 是将信

    1热度

    1回答

    的解析速度我有一个包含由 #start <some-name> ... #end <some-name>分隔块的相当大的配置文件是some-name必须是该块的相同。该块可以出现多次,但从未包含在其本身内。某些块中只能出现其他块。我对这些包含的块不感兴趣,但对第二层的块有兴趣。 在真实文件中,名称不以blockX开头,但彼此非常不同。 一个例子: #start block1 #star

    2热度

    3回答

    我在玩决策树算法并试图绘制树。然而,IDE报告以下错误: Couldn't import dot_parser, loading of dot files will not be possible. <class 'pandas.core.frame.DataFrame'> Traceback (most recent call last): File "C:/Users/

    1热度

    1回答

    我在Python 3.5.0上使用pyparsing(2.1.5)。 我想更快地制作infixNotation。我发现其他人使用ParserElement.enablePackrat()来提高infixNotation的性能。但我无法做到。我的代码如下。 from pyparsing import * ParserElement.enablePackrat() UNICODE_CHARS =

    1热度

    1回答

    我有这样的事情 IDENTIFIER = Word(alphas + '_', alphanums + '_') #words GENERIC_TYPE = Regex('[a-zA-Z_]+[a-zA-Z0-9_]*(\<[a-zA-Z0-9_]+\>)?') #List<string> or int AMF = Keyword('public') | Keyword('private')

    1热度

    1回答

    我拥有如下所示的系统日志。 date = 2015-10-08 time = 16:03:26 devname = D1_FIG device_id = ID300B3908601UID log_id = 0021000002 type = traffic subtype = allowed pri = notice vd = root src = 157.56.15.15 src_port =