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


命名组

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

Python 的 re 模块率先提出了一种解决方案:命名捕获组和命名反向引用。`(?Pgroup)` 将组的匹配捕获到反向引用“name”中。“name”必须是以下划线字母开头的字母数字序列。“group”可以是任何正则表达式。可以使用命名反向引用 `(?P=name)` 来引用组的内容。问号、P、尖括号和等号都是语法的一部分。虽然命名反向引用的语法使用括号,但这只是一个反向引用,它不执行任何捕获或分组操作。HTML 标签示例可以写成 `<(?P[A-Z][A-Z0-9]*)\b[^>]*>.*?`。

更新于:2020年6月13日

768 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.