【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)

打印的结果如下

 

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

posted @ 2020-06-14 23:45  万华镜  阅读(244)  评论(0)    收藏  举报