import re
regex = re.compile(r"(^S[A-Z]*\ [0-9\.]*$)", flags=re.MULTILINE)
test_str = ("Aokia How doers\n"
"getmore done.\n"
"9615 DIAMOND CENTER DRIVE\n"
"MENTOR, OH 44060 (440)357-0428\n"
"3815 00061 42905 05/01/22 01:57PM\n"
"SALE SELF CHECKOUT\n"
"037155808113 DRAIN CRT <A> 15.88\n"
"CHROME FINISH PLASTIC TUB STOPPER\n"
"SUBTOTAL 15.88\n"
"SALES TAX 1.15\n"
"TOTAL $17.03\n"
"XXXXXXXXXXXX4651 DEBIT\n"
"USD$17.03\n"
"AUTH CODE 001059\n"
"Chip Read Verified By PIN\n"
"AID A0000000042203 US Debit\n"
"3815 05/01/22 01:57 PM\n"
"3815 61 42905 05/01/2022 9250\n"
"RETURN POLICY DEFINITIONS\n"
"POLICY ID DAYS POLICY EXPIRES ON\n"
"A 1 90 07/30/2022\n"
"****\n"
"DID WE NAIL IT?\n"
"Take a short survey for a chance TO WIN\n"
"A$5,000 HOME DEPOT GIFT CARD\n"
"Opine en espaƱol\n"
"www.homedepot.com/survey\n"
"User ID: H88 89914 86160\n"
"PASSWORD: 22251 86099\n"
"Entries must be completed within 14 days\n"
"of purchase. Entrants must be 18 or\n"
"older to enter. See complete rules on\n"
"website. No purchase necessary.")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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