# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"\w{7}"
test_str = ("E4A5Y8E\n"
"JQIU56G\n"
"S91ED8F\n"
"ZZ9850H\n"
"ZPPMYA9\n"
"J2OXGG0\n"
"X0E 0S0\n"
"9CF0ZJG\n"
"LTZTBLL\n"
"TEZPPN7\n"
"UD1UBM9\n"
"TII6VD6\n"
"BMZ90JF\n"
"VE6NLYJ\n"
"VACU01D\n"
"8SUDAFE\n"
"RQ8EFOI\n"
"08C97PD\n"
"3LB58FW\n"
"XQC2RW9\n"
"HEJ79FK\n"
"5FEJ81D\n"
"149EW6B\n"
"9KSPVLH\n"
"LTUNC3S\n"
"HN50KLO\n"
"8NXO6VL\n"
"4AZIQB8\n"
"U3L0TMV\n"
"044V0UG\n"
"EICE3TP\n"
"7Q7SC7Z\n"
"L86UAT3\n"
"JQYQLW0\n"
"MOEJCMZ\n"
"1AGVGOO\n"
"MPO18T0\n"
"QJMJ5TN\n"
"XJUEMLC\n"
"8JOANNN\n"
"0FIIIA1\n"
"QXZN03D\n"
"WAM 4BI\n"
"R0A 0S0\n"
"XUNFEAD\n"
"2KLDUOC\n"
"RHG NMK\n"
"M0P0XQS\n"
"D4J8MMC\n"
"X0E-1C0\n"
"J5L1KKU\n"
"EI2JTNY\n"
"BQ5LL52\n"
"1G6IL0L\n"
"JNF7KGE\n"
"1U1HSTG\n"
"OVJIO0H\n"
"U7X0ZTO\n"
"V98C18U\n"
"MNPDFAA\n"
"JRYV6I1\n"
"CSU29TX\n"
"2YLCS0E\n"
"IIPIOSN\n"
"V4W-1B9\n"
"U7HUEWN\n"
"AKUVDLL\n"
"IL2H9H3\n"
"G3ON4LY\n"
"V4W 1A4\n"
"UZSR5YK\n"
"SDC2A06\n"
"IEZJCH3\n"
"UABPVDJ\n"
"NBXDBQ5\n"
"17HR851\n"
"E1CZAGC\n"
"WFJ72DU\n"
"ANZ0JXG\n"
"YHA9M3X\n"
"HMDV5ER\n"
"S3PTFHM\n"
"ZZ6WYSA\n"
"IY99JD8\n"
"P7UVP4Z\n"
"NQ283P9\n"
"LELIDPT\n"
"R6M 0A5\n"
"R0G 0B2\n"
"9MI2DV0\n"
"MWACX9X\n"
"X0E 0H0\n"
"I7GHXN8\n"
"E063NU0\n"
"DLV7WF6\n"
"5ZTM1LL\n"
"QMEFANR\n"
"CYNVB4S\n"
"8W2LHCK\n"
"V4W 0A4\n"
"HCRQ4GZ\n"
"LIJCLYP\n"
"OECYFT4\n"
"V4W 1B6\n"
"7SRZUGW\n"
"VBUHQ3B\n"
"J5YST0B\n"
"R6M 0A3\n"
"0OQCULR\n"
"BG7JIMT\n"
"M0JFKE7\n"
"J6LAMJ9\n"
"WNRUDD1\n"
"7OOZITH\n"
"3ML8MD3\n"
"94IPNLE\n"
"W55SJH0\n"
"81XXMCE\n"
"97JZS9U\n"
"NXB31OU\n"
"Y4EDFZ1\n"
"9NGKXLW\n"
"JJ7X46J\n"
"CWU3CJM\n"
"8D9OYOP\n"
"3ZZV975\n"
"HTVJV1C\n"
"MENOU7S\n"
"SRKBGUN\n"
"0MONC6T\n"
"MS6O469\n"
"IUVOYQ9\n"
"25RDXZV\n"
"D99LO98\n"
"GKK3H2O\n"
"PDHJD5B\n"
"2KM3K5W\n"
"AJIIK4L\n"
"BD9A24I\n"
"UU32Y03\n"
"RCA4C86\n"
"0H4BBVG\n"
"8355956\n"
"V4W 1A7\n"
"RW9JLNP\n"
"ZQ2YMH0\n"
"71YCQRC\n"
"4ZUNJ7Q\n"
"152REQB\n"
"4NQR40P\n"
"6310AX1\n"
"3QC0AL6\n"
"8HN6COW\n"
"R5R1SW7\n"
"B8NPGEX\n"
"0ITC8M5\n"
"TE09NQX\n"
"DCDUSQU\n"
"61JDWMA\n"
"X0E 0B0\n"
"V4W 1A5\n"
"R0G 1C0\n"
"Z05290B\n"
"SDFDJB7\n"
"1AIQYRC\n"
"F5Q3TO4\n"
"ABWG8R7\n"
"8BHF4J5\n"
"176AKXX\n"
"U12T0US\n"
"6AO46QD\n"
"XQNEDH4\n"
"R0G 0B0\n"
"4HDUV2H\n"
"6M3F27U\n"
"900YSOA\n"
"QZKU6WK\n"
"O85SHCL\n"
"NG6K7CE\n"
"47BOY8N\n"
"7PU2R3W\n"
"2UQ CIC\n"
"1WJ7V4F\n"
"QKPWPZV\n"
"VHVVXJT\n"
"7YTZW6D\n"
"609X0LY\n"
"R6M 0A6\n"
"3QA1UTG\n"
"P4NP0VS\n"
"8RTG25F\n"
"2V7KTWW\n"
"31FC5QQ\n"
"R0G 0Z0\n"
"V4W 1B8\n"
"MZ337WC\n"
"6BM4ASC\n"
"QXSKH3R\n"
"I0Q63JL\n"
"73QEDO9\n"
"MIPJB4E\n"
"5211K66\n"
"4PVXK85\n"
"DN1NRBS\n"
"RCKEAST\n"
"8PAFPN0\n"
"AMDE4EM\n"
"5RX2U4F\n"
"CXC4HGU\n"
"UJZAE15\n"
"JMUL6Q6\n"
"VI7T9R4\n"
"SJF31CG\n"
"L5R8RQB\n"
"CQ74GTH\n"
"B5B26SC\n"
"V4W 1C8\n"
"002XEHG\n"
"UIVMXD3\n"
"59U220R\n"
"R6M-0A1\n"
"LASUZGV\n"
"9N984BZ\n"
"X0YAXJ7\n"
"NU55569\n"
"G6CMXRU\n"
"INI41IE\n"
"R0A 0L0\n"
"EDOLTZT\n"
"0ZJ2JOI\n"
"J1LFVQP\n"
"IBHW7BH\n"
"I7LMSXR\n"
"V4W 1A3\n"
"2OQJYMM\n"
"8TSW5J1\n"
"EQ6OIPV\n"
"34CVVKW\n"
"RCAY7SH\n"
"V4W 1A8\n"
"YSXBLN0\n"
"G26XHHE\n"
"V4W 0A5\n"
"DIBM8LW\n"
"T0E4Z3N\n"
"X031ZWH\n"
"Y33IVCB\n"
"S9R58C4\n"
"TC3Q07B\n"
"NBYVGSB\n"
"V4W 1C4\n"
"XBLIU0F\n"
"H92UX8N\n"
"GUGQUKQ\n"
"PY2NFZ0\n"
"4Q7OGZP\n"
"Z5VGDWY\n"
"X0E 0G0\n"
"YEAJD6D\n"
"R6M 0A4\n"
"8H3UBVS\n"
"317HCXF\n"
"FWDF2UW\n"
"P40H72D\n"
"OWD3KVB\n"
"8IGB94X\n"
"JFLPI05\n"
"OCN91ZQ\n"
"XC8FMGC\n"
"0O1KOGN\n"
"684TESU\n"
"Y0WSZ15\n"
"RSKECBM\n"
"Y488MYL\n"
"DJLRJE2\n"
"GA6EI1D\n"
"C7U G3O\n"
"RV2C62C\n"
"XX1IFWW\n"
"S5EU716\n"
"K3R8V0P\n"
"L6NHJVQ\n"
"R45G9SH\n"
"O8W0UVF\n"
"FUX7H6P\n"
"5NUIL90\n"
"T4ACNYK\n"
"I3S5QWJ\n"
"LLSKBDS\n"
"5R7W88H\n"
"RUTNJXA\n"
"JEYRIN4\n"
"O62OG44\n"
"DAMW7YJ\n"
"ESC6IL0\n"
"85ZTRKO\n"
"LFN4LNG\n"
"7N4352T\n"
"DV5EG89\n"
"93OSFNO\n"
"50U33CF\n"
"J0SBCNC\n"
"Q77FUS0\n"
"ON2L7YC\n"
"GOVRTWB\n"
"BCN4RCL\n"
"RX2NTJW\n"
"99Q5M52\n"
"V4W 1C5\n"
"DH26PS0\n"
"J19CBEA\n"
"J0QDH03\n"
"D1X NOO\n"
"X0E 0V0\n"
"I7TXLJZ\n"
"53BNU19\n"
"MZEW2AX\n"
"6JFABO4\n"
"ZJG3J5D\n"
"X0E 0Z0\n"
"B4W4YMB\n"
"37UNJ9A\n"
"6R66IVX\n"
"5UQPTB9\n"
"R0G 0Y0\n"
"YF7JP8G\n"
"48XX1EL\n"
"WCUYX4I\n"
"762IWZ4\n"
"23NBY1L\n"
"3G6XU4P\n"
"GJVNEHC\n"
"X0E 0J0\n"
"B2HO1JN\n"
"CKU8PG7\n"
"TG2N6C9\n"
"KQO4T5I\n"
"6CXZ92J\n"
"WW0KB8J\n"
"SY5FC2W\n"
"XAZJKHA\n"
"2QGMNM4\n"
"0WI2R0U\n"
"X0E 0A0\n"
"8KW93VI\n"
"BTNXNDQ\n"
"2CY7493\n"
"D97IWVC\n"
"ME40FWL\n"
"EZZX50J\n"
"X0E 1L0\n"
"69JN5XN\n"
"G7OZFBG\n"
"GYF46SY\n"
"XD3VPQW\n"
"K5MWQB4\n"
"6LTEOO8\n"
"VAD9J5F\n"
"5GZARVT\n"
"E3ZY8D8\n"
"VWP9PCP\n"
"QREOACD\n"
"R0G 0C0\n"
"4B8394Q\n"
"R0G 0J0\n"
"V4W 1C3\n"
"3ZHVFCJ\n"
"1RFMTBM\n"
"DFCVUEW\n"
"5R7D8AT\n"
"RAHP4EF\n"
"5L45FTJ\n"
"XE1JZPD\n"
"PKTEPQ7\n"
"XDLSOVN\n"
"DIYPIK4\n"
"DI6JVL5\n"
"76QZC9V\n"
"LZ595ML\n"
"U4H9L7V\n"
"4SRWVWC\n"
"HGMZGKU\n"
"7SNFBJN\n"
"UG0DOTK\n"
"KH3UNP9\n"
"KBKMAY8\n"
"U1I95QA\n"
"Y379SYY\n"
"J7OAGHN\n"
"VE9IBPR\n"
"SADNELB\n"
"23CUB7K\n"
"PJ580EL\n"
"EZIUU2R\n"
"Q69N154\n"
"5WJ0KFU\n"
"3IW1XB3\n"
"0TPI8A7\n"
"3OUKYEQ\n"
"YRQWNYJ\n"
"K628FQ8\n"
"N4I3R5Z\n"
"CNGSW93\n"
"KDSIE58\n"
"4M041Z9\n"
"6ERUKDG\n"
"7V02JFY\n"
"JJO2659\n"
"2M6T5JY\n"
"O23AODX\n"
"V4W-1B7\n"
"6RGDNY9\n"
"4Q28NH3\n"
"XL5K6PV\n"
"X0E-0T0\n"
"ZE6NMO3\n"
"N3GQGF1\n"
"PN7I207\n"
"RTDYA1T\n"
"G8DEBKY\n"
"GRQPYCL\n"
"R0G 0B1\n"
"R0G 0V0\n"
"4S38X85\n"
"QF3DGDG\n"
"R0G 1H0\n"
"8UXUQ42\n"
"HUXFTN5\n"
"V77YGDP\n"
"1V3TMD1\n"
"JUGVD3E\n"
"9CU0UYP\n"
"77PV8GD\n"
"IN7450T\n"
"I4K1DVJ\n"
"P1ODTUX\n"
"FP71TWS\n"
"JF8NM06\n"
"UY6E4Q8\n"
"EJEH7OD\n"
"V4W 1A6\n"
"9PNLTCM\n"
"LG8HHPJ\n"
"SP4VDPY\n"
"73TWCLI\n"
"HB93P9P\n"
"BLSCGV6\n"
"DDJAU2B\n"
"23RMY67\n"
"CK2OVCM\n"
"UPC8706\n"
"T5VX87C\n"
"V4W 1C7\n"
"V2WAN42\n"
"R0G 0T0\n"
"HGZ0588\n"
"JT8GX26\n"
"2IQKV9Q\n"
"92QSQSM\n"
"S3I6CQ5\n"
"7LJSVTK\n"
"GT5PFMQ\n"
"L2I1E81\n"
"X099GUY\n"
"P5X8099\n"
"V4W 0A7\n"
"HKAJO79\n"
"SOCLKT7\n"
"4WYNHOK\n"
"SU05A4G\n"
"BRIUMJJ\n"
"5MX70VS\n"
"R0G 1E0\n"
"W5L0XE6\n"
"I3B9LMP\n"
"NCIIXAI\n"
"BAZRO7U\n"
"8U3T8IL\n"
"OLX0JQG\n"
"1JFA5H9\n"
"2KNXFL0\n"
"R6M 0A2\n"
"09LP9BP\n"
"9G2CD8P\n"
"UT96V7L\n"
"Y9TGDYM\n"
"BXBM4AG\n"
"65BHK2B\n"
"KW31STU\n"
"9KWT5ZS\n"
"X0E 1N0\n"
"THDX4GH\n"
"CYHCNSS\n"
"TILS0FE\n"
"KLSJNQU\n"
"029JF4T\n"
"3IIVD7J\n"
"XWV92SX\n"
"Z4WB33S\n"
"K6RXPCY\n"
"UKPNO5B\n"
"J2JIJ2I\n"
"C1O1B2C\n"
"7SXC9K5\n"
"JGJOG2Y\n"
"2BDQ4MZ\n"
"W6KS7KE\n"
"UL7DA6I\n"
"WEEXBD2\n"
"XORJDFL\n"
"BK9I7IN\n"
"WV0LAJK\n"
"J7GVG6Y\n"
"SNM4AI8\n"
"PDH6U4P\n"
"UROWD79\n"
"U7SDK3M\n"
"X0E 0K0\n"
"G92VTV2\n"
"YMJUGSY\n"
"F01DYMN\n"
"6ZNEPX4\n"
"Z9SXBXB\n"
"9FSXWX8\n"
"CF6SIMP\n"
"N8QKPVE\n"
"V4W 1C6\n"
"ZA55B0H\n"
"VMW7IUY\n"
"K0NL3I7\n"
"R66IH8L\n"
"BK8FTYG\n"
"LSSYTXM\n"
"DPP3EW3\n"
"V4W 0A6\n"
"O8TD058\n"
"LD0F8LQ\n"
"LI3TOEA\n"
"JQNH0V9\n"
"7CI0LM3\n"
"7SEFJH1\n"
"QK5PV2Z\n"
"4QNKDOZ\n"
"T6P8KL4\n"
"16YXV9F\n"
"0WQFFMR\n"
"D41BFC6\n"
"GT0N7VQ\n"
"NQCOM7Z\n"
"FXAYI5U\n"
"J8RJRCF\n"
"A5T2LZ8\n"
"49ABK7Q")
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