正则表达式反向引用在Python中如何工作?

分组

我们通过将正则表达式的一部分括在一对圆括号中来对它进行分组。这样,我们将运算符应用于组,而不是单个字符。

捕获组和反向引用

括号不仅对子表达式进行分组,而且还创建了反向引用。与正则表达式的分组部分匹配的字符串部分存储在反向引用中。通过使用反向引用,我们可以重用正则表达式的某些部分。 

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

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

示例

import re s ='大溪地大溪地环礁'结果= re.findall(r'\ b(\ w +)\ b \ s + \ 1 \ b',s)打印结果

输出结果

这给出了输出

['Tahiti']