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

这条字符串为什么匹配不了

ma = re.match(r'(hello)(world)?\2', 'helloworld')

正在回答

2 回答

匹配helloworld或者helloworldworld ?  是这个意思吗?

import re

ma = re.match(r'(hello)(world)\2?', 'helloworld')
print ma.group()
ma = re.match(r'(hello)(world)\2?', 'helloworldworld')
print ma.group()

把?放在后面

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

风语者不语 提问者

非常感谢!
2016-12-26 回复 有任何疑惑可以回复我~

因为你的正则表达式的前面一部分(hello)(world)?已经匹配了helloworld后面再加上\2肯定匹配不上的。

ma = re.match(r'(hello)(world)?\2', 'helloworldworld')这样就可以匹配上了

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

风语者不语 提问者

我的目的是要匹配helloworld或者helloworldworld,第二个括号内的内容允许有0个或一个.
2016-09-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这条字符串为什么匹配不了

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