课程
/后端开发
/Python
/python正则表达式
ma = re.match(r'(hello)(world)?\2', 'helloworld')
2016-09-23
源自:python正则表达式 3-3
正在回答
匹配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()
把?放在后面
风语者不语 提问者
因为你的正则表达式的前面一部分(hello)(world)?已经匹配了helloworld后面再加上\2肯定匹配不上的。
ma = re.match(r'(hello)(world)?\2', 'helloworldworld')这样就可以匹配上了
举报
如何使用正则处理文本,带你对python正则有个全面了解
5 回答为什么只能匹配出第一个符合条件的字符串?
1 回答字符串匹配问题
1 回答匹配行结尾字符串
2 回答122行和123行字符串只匹配了第一个
1 回答正则可以匹配中间的字符串吗