import re
regex = re.compile(r"\* LIST \((?<Markers>.*)\) \"\/\" (?<folder>.*?)$", flags=re.MULTILINE)
test_str = ("* LIST (\\HasChildren) \"/\" INBOX/Arkabit\n"
"* LIST (\\HasNoChildren) \"/\" \"INBOX/Arkabit/Flora (SAP)\"\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/BRW\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Chiptronics\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/CRMB1.COM\n"
"* LIST (\\Marked \\HasChildren) \"/\" INBOX/CVA\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/CVA/Contabilista\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/CVA/Maxflex\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Decorlux\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Fabiano\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Fabielle\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Gamma\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Integrate\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Kelli\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Laborclin\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Macrosul\n"
"* LIST (\\HasChildren) \"/\" INBOX/MadeiraMadeira\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/MadeiraMadeira/BRW\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/MadeiraMadeira/Eglo\n"
"* LIST (\\HasNoChildren) \"/\" \"INBOX/MadeiraMadeira/Full Fit\"\n"
"* LIST (\\HasNoChildren) \"/\" \"INBOX/MadeiraMadeira/Glass Mosaic\"\n"
"* LIST (\\Marked \\HasNoChildren) \"/\" INBOX/MadeiraMadeira/Luciin\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/MadeiraMadeira/Rojemac\n"
"* LIST (\\HasNoChildren) \"/\" \"INBOX/Mercado do Alarme\"\n"
"* LIST (\\Marked \\HasChildren) \"/\" INBOX/Stuff\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Stuff/Importado\n"
"* LIST (\\Marked \\HasNoChildren) \"/\" INBOX/Stuff/Ita&APo-\n"
"* LIST (\\Marked \\HasNoChildren) \"/\" INBOX/Stuff/Literal\n"
"* LIST (\\HasChildren) \"/\" INBOX/Stuff/News\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Stuff/News/Linkedin\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Stuff/News/Microsoft\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Stuff/News/SAP\n"
"* LIST (\\Marked \\HasNoChildren) \"/\" INBOX/Stuff/Postman\n"
"* LIST (\\HasChildren) \"/\" INBOX/Stuff/PrimaERP\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Stuff/PrimaERP/Faturas\n"
"* LIST (\\Marked \\HasNoChildren) \"/\" INBOX/Stuff/VSOnline\n"
"* LIST (\\HasNoChildren) \"/\" \"INBOX/Suporte | CRMSAP\"\n"
"* LIST (\\HasNoChildren) \"/\" INBOX/Umbler\n"
"$ OK LIST completed.\n")
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