All matches

findall vs finditer.

findall returns strings (or tuples of groups). finditer yields match objects with positions.

Goal

Count Nairobi mentions and print each span.

import re
text = "Nairobi Kisumu Nairobi Eldoret Nairobi"
print(re.findall(r"Nairobi", text))
print(len(re.findall(r"Nairobi", text)))
import re
text = "Nairobi Kisumu Nairobi"
for m in re.finditer(r"Nairobi", text):
    print(m.start(), m.end(), m.group())
import re
text = "units 12 units 9 units 3"
print(re.findall(r"\d+", text))
import re
text = "Nairobi 12 Mombasa 9"
print(re.findall(r"(\w+) (\d+)", text))