>>> import re >>> text = '1011101111' >>> len(re.findall('(?=11)', text)) 5
Если вы не хотите загружать весь список совпадений в память, что никогда не было бы проблемой! вы могли бы сделать это, если бы действительно захотели:
>>> sum(1for _ in re.finditer('(?=11)', text)) 5
Как функция (re.escape гарантирует, что подстрока не мешает регулярному выражению):