import re
regex = r"^(?:.*,)?\s*(.*?),\s*([A-Z]{2}),?\s*\d{5}$"
test_str = ("124 MAIN ST, UNIT 2, STEAMBOAT, CO 76543\n"
"124 MAIN ST UNIT 2, STEAMBOAT, CO, 76543\n"
"124 MAIN ST, STEAMBOAT, CO, 76543\n"
"124 MAIN ST, STEAMBOAT, CO 76543\n"
"STEAMBOAT, GO 12345\n")
matches = re.finditer(regex, test_str, re.MULTILINE)
for match in matches:
print("City= "+match.group(1)+" State= "+match.group(2))
aW1wb3J0IHJlCgpyZWdleCA9IHIiXig/Oi4qLCk/XHMqKC4qPyksXHMqKFtBLVpdezJ9KSw/XHMqXGR7NX0kIgoKdGVzdF9zdHIgPSAoIjEyNCBNQUlOIFNULCBVTklUIDIsIFNURUFNQk9BVCwgQ08gNzY1NDNcbiIKCSIxMjQgTUFJTiBTVCBVTklUIDIsIFNURUFNQk9BVCwgQ08sIDc2NTQzXG4iCgkiMTI0IE1BSU4gU1QsIFNURUFNQk9BVCwgQ08sIDc2NTQzXG4iCgkiMTI0IE1BSU4gU1QsIFNURUFNQk9BVCwgQ08gNzY1NDNcbiIKCSJTVEVBTUJPQVQsIEdPIDEyMzQ1XG4iKQoKCm1hdGNoZXMgPSByZS5maW5kaXRlcihyZWdleCwgdGVzdF9zdHIsIHJlLk1VTFRJTElORSkKCmZvciBtYXRjaCBpbiBtYXRjaGVzOgoJcHJpbnQoIkNpdHk9ICIrbWF0Y2guZ3JvdXAoMSkrIiBTdGF0ZT0gIittYXRjaC5ncm91cCgyKSk=