在pyparsing中访问字段名称

时间:2018-09-11 12:39:30

标签: python parsing pyparsing

我使用以下pyparser代码解析lucene查询:https://github.com/pyparsing/pyparsing/blob/master/examples/lucene_grammar.py

输入为:

result = expression.parseString("lit AND field:value", parseAll=True)
print(result.dump())

输出是

[['lit', 'AND', ['field', ':', 'value']]]
[0]:
  ['lit', 'AND', ['field', ':', 'value']]
  [0]:
    lit
  [1]:
    AND
  [2]:
    ['field', ':', 'value']
    - field: 'field'

现在我实际上想知道“ AND”是and关键字,而“ lit”是一个单词。

从解析器代码中,我看到“单词”具有与其关联的名称

valid_word = Regex(r'([a-zA-Z0-9*_+.-]|\\[!(){}\[\]^"~*?\\:])+').setName("word")

问题是,如何获取结果内容的“ word”属性。

0 个答案:

没有答案