如何在 Python PyPi 正则表达式模式中引用命名捕获组
How to refer to a named capturing group in the Python PyPi regex pattern
如标题所示,我们可以轻松地将正则表达式中的嵌套括号与
(\(((?:[^()]+|(?1))+))
这将匹配平衡括号。
我们如何使用命名子组来代替,例如在
(?P<key>\(((?:[^()]+|(?\g<key>))+))
我不是在寻找解析器解决方案或其他任何东西,而是真正在 Python
(regex
模块)或 PCRE
.
中寻找上述模式
根据 PyPi regex
documentation,命名反向引用语法是
(?&NAME)
看到一个Python demo:
import regex
print ( regex.sub(r'(?P<key>\((?:[^()]++|(?&key))+\))', '', '(ab(c)d) a(b()') )
# => a(b()
如标题所示,我们可以轻松地将正则表达式中的嵌套括号与
(\(((?:[^()]+|(?1))+))
这将匹配平衡括号。
我们如何使用命名子组来代替,例如在
(?P<key>\(((?:[^()]+|(?\g<key>))+))
我不是在寻找解析器解决方案或其他任何东西,而是真正在 Python
(regex
模块)或 PCRE
.
根据 PyPi regex
documentation,命名反向引用语法是
(?&NAME)
看到一个Python demo:
import regex
print ( regex.sub(r'(?P<key>\((?:[^()]++|(?&key))+\))', '', '(ab(c)d) a(b()') )
# => a(b()