Python 中正则表达式分组如何运作?


分组

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

捕获组

圆括号不仅将子表达式分组,还会创建反向引用。正则表达式分组部分匹配的字符串部分存储在反向引用中。借助反向引用,我们可以重用正则表达式的部分。

在实际应用中,我们经常需要可以匹配两个或更多替代项中的任何一个的正则表达式。此外,我们有时希望量词应用于多个表达式。所有这些都可以通过使用圆括号进行分组和使用带有竖线 (|) 的交替实现。

当我们想要匹配多个不同替代项中的任何一个时,交替很有用。例如,正则表达式 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

619 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告