问答详情
源自:3-3 python正则表达式语法(三)

在python正则表达式中\1是什么意思???

ma4 = re.match(r'<([\w]+>)[\w]+</\1','<book>python</book>')
print(ma4)

上面的代码中的\1为什么就会起到重复的作用,请各位大神解答一下

提问者:慕瓜9435863 2018-07-15 16:53

个回答

  • redrose2100
    2018-07-15 17:34:08
    已采纳

    \1表示使用编号为1的分组,在前面有个括号([\w]+>) 这个括号内的就表示是编号为1的分组,如果这个正则表达式中有多个括号,就是说有多个分组,然后想复用第n个分组,就加一个\n,就OK了,不知道有没有说清楚


  • qq_不抽烟的男人_1
    2019-07-10 11:18:24

    >>> 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>'

    这老师讲课的水平真一般。

  • 简生人
    2018-08-26 10:02:45

    根据左边括号数编号,0是整个模式,1是从左到右第一个括号,类推