import re
regex = re.compile(r"^[A-zÀ-ÿ ]*\1*,(?:\s)(\w*,\s)(CEP (\d{5}-\d{3}))", flags=re.IGNORECASE | re.MULTILINE)
test_str = ("Rua das Flores, 123, CEP 60321-105\n"
"Avenida Brasil, 456A, CEP 16945-017\n"
"Travessa dos Santos, 101, CEP 12345-678\n"
"Rua Catarina, 243, CEP 25437-987\n"
"Rua Sâo Pedro, 243, cep 25437-987\n\n\n")
subst = "\\^[A-Za-z ]*\\1*,(?:\\s)(\\w*,\\s)(CEP (\\d{5}-\\d{3}))\\"
result = regex.sub(subst, test_str)
if result:
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html