fork download
  1. import re
  2.  
  3. regex = r"^(?:.*,)?\s*(.*?),\s*([A-Z]{2}),?\s*\d{5}$"
  4.  
  5. test_str = ("124 MAIN ST, UNIT 2, STEAMBOAT, CO 76543\n"
  6. "124 MAIN ST UNIT 2, STEAMBOAT, CO, 76543\n"
  7. "124 MAIN ST, STEAMBOAT, CO, 76543\n"
  8. "124 MAIN ST, STEAMBOAT, CO 76543\n"
  9. "STEAMBOAT, GO 12345\n")
  10.  
  11.  
  12. matches = re.finditer(regex, test_str, re.MULTILINE)
  13.  
  14. for match in matches:
  15. print("City= "+match.group(1)+" State= "+match.group(2))
Success #stdin #stdout 0.01s 7236KB
stdin
Standard input is empty
stdout
City= STEAMBOAT State= CO
City= STEAMBOAT State= CO
City= STEAMBOAT State= CO
City= STEAMBOAT State= CO
City= STEAMBOAT State= GO