import re
line = 'Here is my probblem, brother!'
t = re.findall('..b', line)
print(t)
打印:
['rob', ', b']
但它应该在'probblem'中找到'obb'。为什么呢?
答案 0 :(得分:5)
因为.
会匹配一个字符,在这种情况下,您有'ro'
和', '
,后跟一个b
。关于这一点,如果你想匹配这些模式,finall()
函数与重叠模式不匹配,你可以使用positive look ahead并将你的模式放在一个捕获组中:
>>> t = re.findall('(?=(..b))', line)
>>> t
['rob', 'obb', ', b']