import re
regex = re.compile(r"^[\(\[].*?[\)\]]", flags=re.MULTILINE)
test_str = ("[Part 1: A]\n"
"Was hab’ ich nur getan?\n"
"Hab mich selbst nie hinterfragt\n"
"Wer bin ich, wer bin ich, wer bin ich, was bin ich bloß?\n"
"Aaaah - wer bin ich, was bin ich bloß?\n"
"Ging es all die Zeit lang wirklich nur um mich?\n"
"Nur um mich, nur um mich, nur um mich?\n"
"Denk’ ich wirklich immer nur an mich?\n"
"Nur an mich, nur an mich, nur an mich?\n\n"
"[Part 2: T]\n"
"Ich bin so horrible, horrible, horrible\n"
"Fehler einzusehen ist mir nicht possible, possible, possible\n"
"Jaaah - doch ich denk’ jeden Tag an all den Shit, den ich getan hab’\n"
"Warum unterschätz’ ich meinen Impact auf die andern?\n"
"Homie, sag mir, warum ficke ich mein Karma\n"
"Und geb kein’ Fick auf alles, was die Stimme in mir labert?\n"
"Blockiert mich da mein Ego oder weiß ich es nicht besser?\n"
"Mann, wann verdammt fühl ich mich bereit etwas zu ändern?\n"
"Warum lass’ ich einfach nichts mehr an mich ran?\n"
"Warum lass’ ich selbst mich selbst nicht an mich ran?\n"
",1\n\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