Python中正则表达式的选择作用是什么?

Python中正则表达式的选择作用是什么?

选择和应用

在现实世界的应用中,我们经常使用正则表达式来匹配两个或更多的备选项。有时,我们使用量词来应用于多个表达式。所有这些目标都是通过使用括号进行分组来实现的;而在使用备选项时,应用竖线(|)来进行选择。

使用竖线(|)

当我们需要匹配几个不同的备选项之一时,备选项是非常有用的。例如,正则表达式airways|airplane|bomber将匹配包含airways或airplane或bomber的任何文本。使用正则表达式air(ways|plane)|bomber可以实现相同的功能。

如果我们使用正则表达式(airways|airplane|bomber),它将匹配其中的任何一个表达式。考虑正则表达式(air(ways|plane)|bomber),它有两个捕获,如果第一个表达式匹配的话(airways或airplane作为第一个捕获,ways或plane作为第二个捕获),并且如果第二个表达式匹配的话,则只有一个捕获(bomber)。我们可以通过在opening parenthesis后面加上?:来关闭捕获效果,像这样:

(air(?:ways|plane)|bomber)

如果匹配(airways或airplane或bomber),则只有一个捕获。

示例

以下代码说明了上述要点−

import re
s = 'airways aircraft airplane bomber'
result = re.findall(r'(airways|airplane|bomber)', s)
print result
result2 = re.findall(r'(air(ways|plane)|bomber)', s)
print result2
result3 = re.findall(r'(air(?:ways|plane)|bomber)', s)
print result3

输出

这将产生以下输出

['airways', 'airplane', 'bomber']
[('airways', 'ways'), ('airplane', 'plane'), ('bomber', '')]
['airways', 'airplane', 'bomber']

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程