This question already has answers here:
How to find overlapping matches with a regexp?
(4个答案)
四年前关闭。
这张照片:
但它应该在“problem”中找到“obb”。为什么?
(4个答案)
四年前关闭。
import re
line = 'Here is my probblem, brother!'
t = re.findall('..b', line)
print(t)
这张照片:
['rob', ', b']
但它应该在“problem”中找到“obb”。为什么?
最佳答案
因为.
将匹配一个字符,在本例中,您有'ro'
和', '
,后面跟着一个b
。对于finall()
函数与重叠模式不匹配这一点,如果要匹配这些模式,可以使用positive look ahead并将您的模式放入捕获组:
>>> t = re.findall('(?=(..b))', line)
>>> t
['rob', 'obb', ', b']
关于python - 关于正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33585880/
10-13 09:11