正则表达式,用于匹配组之前的点与re.findall

时间:2014-04-15 20:57:49

标签: python regex

当我想在一个字符串中将一个点匹配为文字时,它会在转义后的点后跟一个文字时起作用,但是当它后跟一个重新组时它不起作用。

>>> re.findall(r'\.de', 'abc.de')
['.de']

但是对于一个小组,点丢失了

>>> re.findall(r'\.(de|ab)', 'abc.de')
['de']

如何在正则表达式中重新定位['.de']组?

1 个答案:

答案 0 :(得分:5)

您正在捕获错误的组: - )

re.findall(r'(\.(?:de|ab))', 'abc.de')

#or
# re.findall(r'\.(?:de|ab)', 'abc.de')

我使用?:

忽略了原来的群组