在pyparsing中尝试简单的indentedBlock表达式时出现无限循环

问题描述 投票:1回答:2

我正在尝试使用pyparsing和indentedBlock解析缩进的块

这里是我的代码

from pyparsing import *

indent_stack = [1]
line = ungroup(restOfLine)
block = ungroup(indentedBlock(line, indent_stack))

# Work
data = """  foo
  bar
  tar
"""

block.parseString(data).pprint()

问题是parseString不会返回。似乎正在等待更多输入,或者我遇到了无限循环。如果我在代码块中插入了一条无意义的行,则开始工作]

data = """  foo
  bar
  tar

end
"""

但是我希望能够解析到不缩进的行(工作情况)或字符串的末尾(不工作情况)

pyparsing
2个回答
0
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.