回答
是的,这是可能的。您可以使用positive lookahead。
>>> import re
>>> [m.start() for m in re.finditer(r'f(?=f)', 'fff')]
[0, 1]
函数'finditer'只返回非重叠实例。 “返回一个产生MatchObject实例遍历字符串中RE模式的所有非重叠匹配的迭代器”see http://docs.python.org/2/library/re.html – 2014-02-09 18:07:17
@Desolator你读过['re .findall'](http://docs.python.org/2/library/re.html#re.findall)你在答案中使用? –
缺点是'm.groups()'不再非常有用 – nodakai
是的。使用findall(string[, pos[, endpos]])
到的findAll()函数,使用编译的模式类似,但也 接受可选POS和endpos参数限制搜索 区域像匹配()。
即每次您将从之前的比赛+ 1
的m.start()
开始搜索。
- 1. Ruby正则表达式匹配多次
- 2. Python正则表达式匹配多次
- 3. 正则表达式匹配多表达
- 4. 正则表达式:在正则表达式区域内匹配多次(emacs)
- 5. 正则表达式匹配
- 6. 正则表达式匹配
- 7. 正则表达式匹配%
- 8. 正则表达式匹配
- 9. 正则表达式匹配
- 10. 正则表达式 - 匹配
- 11. 正则表达式匹配
- 12. 匹配正则表达式
- 13. 正则表达式 - 匹配
- 14. 正则表达式匹配
- 15. 正则表达式匹配
- 16. 正则表达式匹配
- 17. 正则表达式匹配
- 18. 匹配正则表达式{
- 19. 正则表达式匹配
- 20. 正则表达式匹配“|”
- 21. 正则表达式匹配
- 22. 正则表达式匹配
- 23. 正则表达式匹配
- 24. 正则表达式:匹配
- 25. 正则表达式匹配@“*”
- 26. 匹配正则表达式
- 27. 正则表达式:匹配
- 28. 匹配正则表达式
- 29. 正则表达式匹配
- 30. 正则表达式匹配
你是对的泽维尔。谢谢。 –