# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(^S[A-Z]*\ [0-9\.]*$)"
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 = re.finditer(regex, test_str, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# 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