# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^([^\d\n]+(?:\d+[^\d\n]*)?)(?: |$)(?:(\d+|SN\b) *([^\d\n]+\d+))?$"
test_str = ("AV 12 DE SETEMBRO 25 BLOCO 02\n"
"RUA JOSE ANTONIO 132 CS 05\n"
"AV CAXIAS 02 CASA 03\n"
"AV 11 DE NOVEMBRO 2032 CASA 4\n"
"RUA 05 DE OUTUBRO 25 CASA 02\n"
"RUA 15\n"
"AVENIDA 3 PODERES")
subst = "no_logradouro:$1, nu_logradouro:$2, complemento:$3\\n"
# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)
if result:
print (result)
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
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