多次匹配正则表达式

时间:2014-02-09 18:01:08

标签: python regex

是否可以构造一个多次匹配模式的正则表达式?

例如,在ff中搜索fff会给出两个匹配项。他们的起始位置分别为0和1。

2 个答案:

答案 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}}开始搜索。