Python正则表达式实现非捕获分组

1、有时候不想引用子表达式的匹配结果,不想捕捉匹配结果,只是把小括号作为一个整体来匹配。

2、可以使用非捕获分组,在组开头使用?,可实现非捕获分组。

实例

importre

s='img1.jpg,img2.jpg,img3.bmp'

#捕获分组
p=r'\w+(\.jpg)'
mlist=re.findall(p,s)①
print(mlist)

#非捕获分组
p=r'\w+(?:\.jpg)'
mlist=re.findall(p,s)②
print(mlist)

输出

['.jpg','.jpg']
['img1.jpg','img2.jpg']

以上就是Python正则表达式实现非捕获分组,希望对大家有所帮助。更多Python学习指路:Python基础教程

发表回复