正则表达式回溯引用在 Python 中如何工作的?


分组

我们通过用一对括号将正则表达式的一部分括起来来对该部分进行分组。这样我们就能对组应用操作符,而不是对单个字符应用操作符。

捕获组和回溯引用

括号不仅对子表达式进行分组,而且还创建了回溯引用。正则表达式中分组部分匹配的字符串部分存储在回溯引用中。借助于回溯引用,我们重复使用正则表达式的部分。

如果子表达式放在括号中,可以用\1或$1等访问它。

例如,正则表达式\b(\w+)\b\s+\1\b匹配重复的单词,例如 tahiti tahiti,因为(\w+)中的括号将单词捕获到第1组,然后回溯引用\1匹配第1组捕获的字符。

示例

import re s = 'Tahiti Tahiti Atoll' result = re.findall(r'\b(\w+)\b\s+\1\b', s) print result

输出

这给出了输出

['Tahiti']

更新于: 2020年2月19日

630 浏览

开启您的 职业生涯

通过完成此课程获得认证

开始
广告