Python 我们如何使用Python的正则表达式命名组?
阅读更多:Python 教程
命名组
大多数现代正则表达式引擎都支持编号捕获组和编号反向引用。具有许多组和反向引用的长正则表达式可能难以阅读和理解。此外,在正则表达式中添加或删除一个捕获组会干扰随后添加或删除组的所有组的编号。
Python的re模块是第一个提出解决方案的模块:命名捕获组和命名反向引用。 (?P<name>group) 将group 匹配结果捕获到反向引用 “name” 中。名称必须以字母开头,并由数字或字母组成。group 可以是任何正则表达式。您可以使用命名反向引用(?P=name) 来引用组的内容。问号、P、角括号和等号都是语法的一部分。即使命名反向引用的语法使用了括号,它只是一个不进行任何捕获或分组的反向引用。HTML标签示例可以写成 <(?P<tag>[A-Z][A-Z0-9]*)\b[^>]*>.*?</(?P=tag)>。
极客教程