- # ### 正则表达式 => 命名分组
- import re
- strvar = "<p > 今天天气不错 </p>"
- print(re.findall(r"<(.*?)>(.*?)<(.*?)>",strvar)) #正常匹配
- # 反向引用 \1 代表的是把第一个括号匹配到的值, 拿过来在引用一次
- print(re.findall(r"<(.*?)>(.*?)<(/\1)>",strvar))
- # 2. 命名分组
- # 3) (?P < 组名 > 正则表达式) 给这个组起一个名字
- # 4) (?P = 组名) 引用之前组的名字, 把该组名匹配到的内容放到当前位置
- print(re.findall(r"<(?P<tag1>.*?)>(.*?)</(?P=tag1)>",strvar))
来源: http://www.bubuko.com/infodetail-3282365.html