【Python学习笔记五】re.findall()方法中,正则的"()"效果
在笔记四中,使用正则去筛选数据时,使用了findall()这个方法,在使用时正则表达式中使用了到了"()",最初以为只是强调执行优先级,后来发现正则表达式中的每一个(),在findall()中都会匹配一次返回值,看下面几段内容:
import re str = "aabbccaaccddaaddff" param_reg = r"aa.+?" Result = re.findall(param_reg, str) print(Result) param_reg = r"aa(.+?)" Result = re.findall(param_reg, str) print(Result) param_reg = r"(aa)(.+?)" Result = re.findall(param_reg, str) print(Result)
打印的结果如下

可以看到,正则中的每一个()所匹配上的内容,都作为一个结果输出了。第一个没有括号的正则,则输出了匹配的字符串结果。
浙公网安备 33010602011771号