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']

更新于:19-Feb-2020

620 次浏览

开启您的职业生涯

通过完成课程获取认证

入门
广告