Literals and search

re.search vs a plain in check.

re.search looks for a literal substring with a pattern. in is enough for a fixed city name; a pattern is for structure.

Goal

Search for Nairobi two ways and print whether it matched.

Plain in

line = "kiosk Nairobi sold 12 units"
print("Nairobi" in line)
print(line.find("Nairobi"))
import re
line = "kiosk Nairobi sold 12 units"
m = re.search(r"Nairobi", line)
print(m is not None)
print(m.group() if m else None)
import re
line = "kiosk Kisumu sold 3 units"
print(re.search(r"Nairobi", line))
import re
for city in ("Nairobi", "Mombasa", "Nakuru"):
    line = f"sold in {city}"
    print(city, bool(re.search(city, line)))
Tip

If the text is a fixed string, in is clearer. Use re when the shape varies.