当我想在一个字符串中将一个点匹配为文字时,它会在转义后的点后跟一个文字时起作用,但是当它后跟一个重新组时它不起作用。
>>> re.findall(r'\.de', 'abc.de')
['.de']
但是对于一个小组,点丢失了
>>> re.findall(r'\.(de|ab)', 'abc.de')
['de']
如何在正则表达式中重新定位['.de']
组?
答案 0 :(得分:5)
您正在捕获错误的组: - )
re.findall(r'(\.(?:de|ab))', 'abc.de')
#or
# re.findall(r'\.(?:de|ab)', 'abc.de')
我使用?: