我是regex的新手,为什么不输出“present”?

tale = "It was the best of times, ... far like the present ... of comparison only. "
a = re.compile('p(resent)')
print a.findall(tale)

>>>>['resent']

最佳答案

Python documentation



如果您希望它仅将组用于分组而不是捕获,请使用非捕获组:

a = re.compile('p(?:resent)')

对于此正则表达式,没有任何意义,但是对于更复杂的正则表达式,它可能是适当的,例如:
a = re.compile('p(?:resent|eople)')

将匹配“当前”或“人民”。

10-04 21:30