我们用括号将正则表达式的一部分分组。这就是我们将运算符应用于整个组而不是单个字符的方式。
括号不仅对子表达式进行分组,而且还创建了反向引用。与正则表达式的分组部分匹配的字符串部分存储在反向引用中。借助反向引用,我们可以重用正则表达式的某些部分。
在实际应用中,我们经常需要可以匹配两个或多个替代中的任何一个的正则表达式。另外,有时我们希望将量词应用于多个表达式。所有这些都可以通过用括号分组来实现;并与竖线(|)交替使用。
当我们要匹配几种不同替代方案中的任何一种时,替代方案很有用。例如,正则表达式飞机将匹配包含飞机或飞机或飞机的任何文本。使用正则表达式飞机可以达到相同的目的。
import re s = 'Tahiti $% Tahiti *&^ 34 Atoll' result = re.findall(r'(\w+)', s) print result
输出结果
这给出了输出
['Tahiti', 'Tahiti', '34', 'Atoll']