1、有时候不想引用子表达式的匹配结果,不想捕捉匹配结果,只是把小括号作为一个整体来匹配。
2、可以使用非捕获分组,在组开头使用?,可实现非捕获分组。
实例
import re 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学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。