ma = re.match(r'(hello)(world)?\2', 'helloworld')
匹配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')这样就可以匹配上了