正则表达式反向引用在Python中如何工作?
分组
我们通过将正则表达式的一部分括在一对圆括号中来对它进行分组。这样,我们将运算符应用于组,而不是单个字符。
捕获组和反向引用
括号不仅对子表达式进行分组,而且还创建了反向引用。与正则表达式的分组部分匹配的字符串部分存储在反向引用中。通过使用反向引用,我们可以重用正则表达式的某些部分。
如果将子表达式放在括号中,则可以使用\1或$1等来访问它。
例如,正则表达式\b(\w+)\b\s+\1\b匹配重复的单词,例如大溪地大溪地,因为(\w+)中的括号将单词捕获到第1组,然后反向引用\1匹配组1捕获的字符。
示例
importres='大溪地大溪地环礁'结果=re.findall(r'\b(\w+)\b\s+\1\b',s)打印结果
输出结果
这给出了输出
['Tahiti']