import re
regex = re.compile(r"^(.*part).*(POLYPROPYLENE\sHOMOPOLYMER)", flags=re.IGNORECASE)
test_str = " (CRE8 RXN LIGHT R) (CRE8 RXN WHITE ME) (MOUTHFEEL CREAM FLAVOR) .. 1 CATERPILLAR TRACTOR PARTS 1 NYLOK NUTS, TREE CLIP, 1 PLASTIC TUBING 1 POLYPROPYLENE HOMOPOLYMER 1 SLAC: ABRASIVE MATERIAL 1 STC: INDIAN TAN LACE BACKS 11 SHIPPER'S LOAD AND COUNT 2 AUTO PARTS 29 PLYWOOD & HANGING BAR 4 SACK PAPER US05 18 INCH 5 SLAC: ABRASIVE MATERIAL 5 SLAC:13 SACK PAPER US05 18 61 SACK PAPER US05 20 INCH 7 AUTO PARTS 8544.20 AES X20160114804751 AES X20160114821615 AES X20160121191181 AES X20160122257543 AES X20160122274102 AES X20160126421765 AES X20160126421789 AES X20160127481907 AES X20160127508512 CASES COMMODITY CODE : AES X20160 CONTAINER GLOVES HS CODE 4821.90 8517.70 HS CODE: 3917.32.0000 HS CODE: 7318.16.0000 HS CODE: 8412.21 INVOICE NO: 358672 MSO NO: 3579782 NOEEI 30.37(A) NON-HAZ PACKAGE MATERIALS FOR BASEBALL PACKAGES 1 X 40HQ SHIPPER OWNED PALLET PALLET CYLINDER PALLET SLAC 17 BOXES ON 1 PLT PALLET TAPE PALLETS AES X20160114844193 PALLETS HS CODE:7907.00 PALLETS INCH USNU PO# 4550051601 SKIDS HS CODE: 8708.29 SLAC 58 BOXES ON 1 PLT TELECOM EQUIPMENT USNU"
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