ma4 = re.match(r'<([\w]+>)[\w]+</\1','<book>python</book>') print(ma4)
上面的代码中的\1为什么就会起到重复的作用,请各位大神解答一下
\1表示使用编号为1的分组,在前面有个括号([\w]+>) 这个括号内的就表示是编号为1的分组,如果这个正则表达式中有多个括号,就是说有多个分组,然后想复用第n个分组,就加一个\n,就OK了,不知道有没有说清楚
>>> ma4 = re.match(r'<([\w]+>)[\w]+</\1','<book>pythonn</book>')
>>> ma4.group()
'<book>pythonn</book>'
>>> ma4 = re.match(r'<([\w]+>)[\w]+</\1','<bookk>pythonn</bookk>')
>>> ma4.group()
'<bookk>pythonn</bookk>'
这老师讲课的水平真一般。
根据左边括号数编号,0是整个模式,1是从左到右第一个括号,类推