如何使用 Python 正则表达式命名组?

pythonserver side programmingprogramming

命名组

大多数现代正则表达式引擎都支持编号捕获组和编号反向引用。包含大量组和反向引用的长正则表达式可能难以阅读和理解。此外,在正则表达式中间添加或删除捕获组会扰乱添加或删除的组后面的所有组的编号。

Python 的 re 模块是第一个提出解决方案的模块:命名捕获组和命名反向引用。 (?P<name>group) 将组的匹配捕获到反向引用"name"中。name 必须是以字母开头的字母数字序列。group 可以是任何正则表达式。您可以使用命名的反向引用 (?P=name) 引用组的内容。问号、P、尖括号和等号都是语法的一部分。尽管命名反向引用的语法使用括号,但它只是一个反向引用,不执行任何捕获或分组。HTML 标签示例可以写为 <(?P<tag>[A-Z][A-Z0-9]*)\b[^>]*>.*?</(?P=tag)>。


相关文章


有用资源