1.分组
1.1.无序分组
无名分组就是用一对圆括号“()”括起来的正则表达式,匹配出的内容就表示一个
分组。
1.2.有序分组
有序分组就是给分组命名
格式:(?P正则表达式)
引用分组:s.group(“分组名”)
1.3.后向引用
定义:当用“()”定义了一个正则表达式分组后,正则引擎就会把匹配的组按照顺序进行编号,然后存入缓存中。这样我们就可以在后面对已经匹配过的内容进行引用,这就叫后向引用
语法:
1、通过索引引用 :
\数字
\1表示引用第一个分组,\2引用第二个分组,以此类推,\n引用第n个组,而\0则表示引用整个被匹配的正则表达式本身。
2、通过命名分组名进行引用(如果有的话)
语法: (?P=name)
字符P必须是大写的P,name表示命名分组的分组名
注意:
这些引用都必须是在正则表达式中才有效,用于匹配
举例:
1、通过默认分组编号进行后向引用
s="aaa111aaa111aaa111"
m=re.findall(r"([a-z]+)(\d+)(\1)(