re.match(r'<([\w]+>)[\w]+</\1','<book>python</book>')问题

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

希希同学

2017-12-25 11:43

http://img4.mukewang.com/5a4071ea0001bcc715080690.jpg

re.match(r'<([\w]+>)[\w]+</\1','<book>python</book>')这个的匹配结果为什么不是<book>python</?

下面一个<book>python</book1>,为什么加1后就匹配不出来了?



写回答 关注

1回答

  • qq_爱吃羊的鲸鱼_0
    2017-12-25 22:22:57
    已采纳

    \1就是代表了前面“([\w]+>)”这些内容,你将\1替换掉就成了ma=re.match(r'<([\w]+>)[\w]+</([\w]+>)','<book>python</book>')  其中括号已经没有意义,去掉后就变成ma=re.match(r'<[\w]+>[\w]+</[\w]+>','<book>python</book>')  这样看就应该没问题了吧。

    后面加1匹配不出来的原因也是应为</book>这个字符串匹配不到的缘故。

    希希同学

    非常感谢!

    2017-12-27 09:03:46

    共 1 条回复 >

python正则表达式

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

80577 学习 · 174 问题

查看课程

相似问题