分组的一个附加功能是 捕获分组,对应的括号叫做捕获括号。
括号分组的编号规则是从左到右,从一开始。
print re.search(r"(\d{4})-(\d{2})-(\d{2})"),"2010-12-22").gronp(1)
2010
默认认为存在编号为0的分组,全打印。
print re.search(r"(\d{4})-(\d{2})-(\d{2})"),"2010-12-22").gronp(0)
2010-12-22
分组编号取决于括号开始的顺序。
分组可以提取超链接的详细信息。
新手容易弄错的分组结构。
print re.search(r"(\d{4})-(\d{2})-(\d{2})"),"2010-12-22").gronp(1)
2010
print re.search(r"\d({4})-(\d{2})-(\d{2})"),"2010-12-22").gronp(0)
0
在替换中使用分组。
print re.sub(r"(\d{4})-(\d{2})-(\d{2})"), r"\1年\2月\3日", "2010-12-22")
2010年12月22日
反向引用:
用反向引用匹配成对的tag:
千秋邈矣独留我 百战归来再读书