标签: python parsing ply
我正在使用PLY进行解析。我想要一个用于最大匹配括号组的令牌,其中包含嵌套的匹配括号。
例如:
a(b|c(d|e))应该匹配'a'之后的所有内容
a(b|c(d|e))
a(b)(c)(d)不匹配
a(b)(c)(d)
使用regex模块可以通过以下方式实现: \([^()]*\(((?>[^()]+|(?R))*)\)[^()]*\)
regex
\([^()]*\(((?>[^()]+|(?R))*)\)[^()]*\)
但是我相信PLY正在使用re,它没有递归。还有其他方法可以实现此目的,而不必自己在p_(解析)函数中自己解析令牌吗?
re
p_