为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

正在回答

3 回答

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


1 回复 有任何疑惑可以回复我~
#1

慕瓜9435863 提问者

那么如果前面有多个括号,那么就是按顺序下来进行编号分组吗?
2018-07-15 回复 有任何疑惑可以回复我~
#2

redrose2100 回复 慕瓜9435863 提问者

应该是这样的,不过这个我没试
2018-07-15 回复 有任何疑惑可以回复我~
#3

redrose2100 回复 慕瓜9435863 提问者

如果多个括号不按顺序编号,那这种按分组编号的使用的方式就没有意义了,所以应该是按照顺序编号的
2018-07-15 回复 有任何疑惑可以回复我~
#4

慕瓜9435863 提问者 回复 redrose2100

好哒,谢谢了!
2018-07-15 回复 有任何疑惑可以回复我~
#5

Dianepure_ 回复 redrose2100

match不是有groups() 方法么,里面可以看到list的索引编号
2019-03-01 回复 有任何疑惑可以回复我~
查看2条回复

>>> 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 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python正则表达式
  • 参与学习       80575    人
  • 解答问题       174    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信