Python中正则表达式分组如何运作?
分组
我们通过将正则表达式的部分用圆括号包围起来进行分组。这就是我们对整个组而不是单个字符应用运算符的方式。
捕获组
圆括号不仅对子表达式进行分组,还创建反向引用。正则表达式分组部分匹配的字符串部分存储在反向引用中。在反向引用的帮助下,我们重用正则表达式的部分内容。
在实际应用中,我们经常需要能够匹配两个或更多备选项之一的正则表达式。此外,我们有时希望量词应用于多个表达式。所有这些都可以通过圆括号分组来实现;然后,使用垂直线 (|) 进行交替。
当我们想要匹配若干不同备选项中的任何一个时,交替就很有用。例如,正则表达式 aircraft|airplane|jet 将匹配任何包含 aircraft、airplane 或 jet 的文本。使用正则表达式 air(craft|plane)|jet 可以达到相同效果
示例
import re s = 'Tahiti $% Tahiti *&^ 34 Atoll' result = re.findall(r'(\w+)', s) print result
输出
由此生成输出
['Tahiti', 'Tahiti', '34', 'Atoll']
广告