如何在Python PyPi正则表达式模式中引用命名的捕获组

如何在Python PyPi正则表达式模式中引用命名的捕获组,python,regex,python-regex,Python,Regex,Python Regex,正如标题所示,我们可以轻松地将正则表达式中的嵌套括号与 (\(((?:[^()]+|(?1))+)) 将匹配平衡圆括号。 我们如何使用命名的子组来代替,例如 (?P<key>\(((?:[^()]+|(?\g<key>))+)) (?P\(((?:[^()]+|(?\g))+) 我不是在寻找解析器解决方案或任何东西,而是在Python(regexmodule)或PCRE中寻找上面的模式,根据 (?&NAME) 见a: 导入正则表达式 打印(regex.su

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

(\(((?:[^()]+|(?1))+))
将匹配平衡圆括号。
我们如何使用命名的子组来代替,例如

(?P<key>\(((?:[^()]+|(?\g<key>))+))
(?P\(((?:[^()]+|(?\g))+)
我不是在寻找解析器解决方案或任何东西,而是在
Python
regex
module)或
PCRE
中寻找上面的模式,根据

(?&NAME)
见a:

导入正则表达式
打印(regex.sub(r'(?P\(?:[^()])++++|(?&key))+\),“(ab(c)d)a(b()))
#=>a(b()
使用
(?&key)
。。。。
import regex
print ( regex.sub(r'(?P<key>\((?:[^()]++|(?&key))+\))', '', '(ab(c)d) a(b()') )
# =>  a(b()