是否可以构造一个多次匹配模式的正则表达式?
例如,在ff
中搜索fff
会给出两个匹配项。他们的起始位置分别为0和1。
答案 0 :(得分:2)
是的,有可能。您可以使用positive lookahead。
>>> import re
>>> [m.start() for m in re.finditer(r'f(?=f)', 'fff')]
[0, 1]
答案 1 :(得分:0)
是。使用findall(string[, pos[, endpos]])
与findall()函数类似,使用已编译的模式,但是 还接受限制搜索的可选pos和endpos参数 像匹配()的区域。
即。每次您从上一场比赛m.start()
的{{1}}开始搜索。