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

来源:3-3 python正则表达式语法(三)

慕瓜9435863

2018-07-15 16:53

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

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

写回答 关注

3回答

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

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


    Dianep... 回复redros...

    match不是有groups() 方法么,里面可以看到list的索引编号

    2019-03-01 14:57:07

    共 5 条回复 >

  • 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是从左到右第一个括号,类推

python正则表达式

如何使用正则处理文本,带你对python正则有个全面了解

80575 学习 · 174 问题

查看课程

相似问题