1

如标题所示,我们可以轻松地将正则表达式中的嵌套括号与 eg 匹配

(\(((?:[^()]+|(?1))+))

这将匹配平衡的括号。
我们如何使用命名子组,例如

(?P<key>\(((?:[^()]+|(?\g<key>))+))

我不是在寻找解析器解决方案或任何东西,而是在Python( regexmodule) 或PCRE.

4

1 回答 1

1

根据PyPiregex文档命名的反向引用语法

(?&NAME)

查看Python 演示

import regex
print ( regex.sub(r'(?P<key>\((?:[^()]++|(?&key))+\))', '', '(ab(c)d) a(b()') )
# =>  a(b()
于 2020-09-15T12:59:36.413 回答