import re
regex = re.compile(r'("FILENAME" "([^\/:*?"<>|]+)")', flags=re.MULTILINE)
test_str = "130 (UID 1245 BODYSTRUCTURE (((\"TEXT\" \"PLAIN\" (\"CHARSET\" \"UTF-8\") NIL NIL \"QUOTED-PRINTABLE\" 847 17 NIL NIL NIL)(\"TEXT\" \"HTML\" (\"CHARSET\" \"UTF-8\") NIL NIL \"QUOTED-PRINTABLE\" 2009 41 NIL NIL NIL) \"ALTERNATIVE\" (\"BOUNDARY\" \"000000000000929e4505d59042b1\") NIL NIL)(\"IMAGE\" \"JPEG\" (\"NAME\" \"BS_01.jpg\") \"<f_kyetquhw1>\" NIL \"BASE64\" 280364 NIL (\"ATTACHMENT\" (\"FILENAME\" \"BS_(01)_a.jpg\")) NIL)(\"IMAGE\" \"PNG\" (\"NAME\" \"payroll_check_top_format.png\") \"<f_kyetquio3>\" NIL \"BASE64\" 498210 NIL (\"ATTACHMENT\" (\"FILENAME\" \"payroll check top format.png\")) NIL)(\"IMAGE\" \"JPEG\" (\"NAME\" \"missouri_dl_3e_1300x884.jpg\") \"<f_kyetquia2>\" NIL \"BASE64\" 1014040 NIL (\"ATTACHMENT\" (\"FILENAME\" \"missouri_dl_3e_1300x884.jpg\")) NIL)(\"IMAGE\" \"JPEG\" (\"NAME\" \"1040-1-1_N.jpg\") \"<f_kyetquhj0>\" NIL \"BASE64\" 4272596 NIL (\"ATTACHMENT\" (\"FILENAME\" \"1040-1-1_N.jpg\")) NIL) \"MIXED\" (\"BOUNDARY\" \"000000000000929e4705d59042b3\") NIL NIL))"
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