# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"\[([a-zA-Z0-9À-ž\s\-,.\"']+)\]\s+"
test_str = ("## K – Kommunismus\n\n"
"Selbstbewusst bekennt das Känguru schon am Beginn ihrer langen Freundschaft gegenüber Marc-Uwe: „Ich bin Kommunist“ (K I, DKC: Kleinkunst) und seine Vorliebe für Nirwana. Insbesondere ist es „sehr heikel, wenn es um Besitzverhältnisse geht. Nicht nur bei Produktionsmitteln“ (K I, DKC: Flugstunden), sondern vor allem in Bezug auf sein Verhältnis zu Marc-Uwe. Es ist kein Haustier. Es ist ein unabhängiges Individuum, ganz losgelöst von seinem Mitbewohner. Manchmal etwas zu losgelöst, vor allem sein Mundwerk. Was Marc-Uwe vor Gericht ganz schön in die Bredouille bringt, nachdem das Känguru vor dem Reichstag demonstriert und zwei Polizisten sein Demoschild über den Kopf gezogen hat, während Marc-Uwe „dumm“ daneben stand. Was dazu führt, dass beide verhaftet werden, aber Marc-Uwe die Geldstrafe „wegen Vernachlässigung seiner Sorgfaltspflicht als Tierhalter“ zahlen muss. (K I, DKC: Sein eigener Herr).\n\n"
"Das Ding mit dem Kommunismus ist allerdings so eine Sache: Das Känguru ist „ein individualistischer Kommunist“ und dabei Teil eines ziemlich anarchistischen Netzwerks, es nennt Kommunismus, was es will (K III, DKO: Kuriosität des Klimawandels). Sprich: es macht sich seine Welt, widde, widde, wie sie ihm gefällt (K II, DKM: Bad Bank). Was möglicherweise auf Marc-Uwes anarchistische Tendenzen zurückzuführen ist. Wieder ein Punkt, an dem die WG-Symbiose greift. Die beiden sind immerhin „Freunde bis zur Revolution“. „Dann schlägt es [Marc-Uwe] den Kopf ein und errichtet seine Diktatur“ (K II, DKM: Ach, scheiß der Hund drauf ...).\n\n"
"## N – Nazis\n\n"
"Zu den Freizeitvergnügungen des Kängurus gehört es, seinem Boxreflex nachzugehen. Wie andere Rudeltiere auch, haben Kängurus einen ausgeprägten Drang, ihre Stellung in der Gruppenhierarchie zu behaupten. Dieser Reflex wird bei diesem speziellen Känguru immer dann ausgelöst, wenn zufällig Nazis seinen Weg kreuzen. Im vierten und letzten Teil der Tetralogie versucht es einmal eine andere Annäherung: mit Nazis reden. Im Ergebnis macht es ihnen klar, dass sie Rassisten sind, weil sie sich selbst minderwertig fühlen (K IV, DKA: Entnazifizierung). Der Plan geht auf: in einem kurzen Ritt durch die Schule der abendländischen Philosophie führt das Känguru vier Nazis erfolgreich auf den Weg der Erleuchtung und inneren Erkenntnis. Eine schöne Utopie. Wenn das in der Realität bloß immer so einfach wäre.\n\n"
"## Not-to-do-Liste\n\n"
"Die Not-to-do-Liste ist eine Erfindung des Kängurus in K II, DKM: Prolog im Wohnzimmer als Antwort auf Marc-Uwes gelegentliche poetische Krisen. In K 1 DKC: Ziele verbringt dieser einen ganzen Tag im Schlafanzug in der Hängematte mit der Begründung, „Gestern habe ich [...] nichts gemacht. Ich hatte mir aber nicht vorgenommen, nichts zu machen. Deswegen war ich dann am Ende des Tages unzufrieden, weil ich nichts gemacht hatte. Heute Abend aber werde ich zufrieden sein, weil ich das erreicht haben werde, was ich mir vorgenommen hatte.“ Psychologisch steht dahinter eine vorübergehende Schreib- und Ideenhemmung, die ein erhebliches Frustrationspotenzial hat, was das Känguru natürlich sofort schlau durchschaut.\n\n"
"Die Not-to-do-Liste des Kängurus ist „eine Liste mit Sachen, die ich als schlecht für mich, für andere oder für die Umwelt einstufe. Heute Abend werde ich alles markieren, was ich nicht gemacht habe. Und das wird mir ein gutes Gefühl geben“. Beim Erstellen der Liste liegt es selbstverständlich den ganzen Tag in der Hängematte. Nummer 5 auf seiner Liste ist „Gedichte schreiben“, Nummer zwei „vernünftig sein“ (K II, DKM: Kleinkrieg), Nummer sieben, sich „an Kleinkunstprojekten beteiligen“ (K IV, DKA: Das Ford-Selleck-Theorem), ebenfalls darauf steht „selbstkritisch sein“ und „etwas zugeben“(K II, DKM: Die Trockner-Theorie). Nicht darauf steht übrigens „auf den Fußboden spucken“ (K II, DKM: Wahre Wärme kommt von innen), was Marc-Uwe ziemlich anwidert. Die Liste zieht sich denn auch als Running Gag durch K II, DKM und erhält angelegentlich ein eigenes Kapitel in Form von Faksimiles handschriftlicher, scheinbar vom Känguru erstellter Notizen.\n\n"
"Damit geschieht in Teil 2 der Tetralogie so etwas wie es von Hunden und Hundebesitzenden oder auch alten Ehepaaren bekannt ist: Marc-Uwe und das Känguru werden sich als sich herzlich zugetane Mitbewohner in einer Art WG-Symbiose immer ähnlicher. Auf ihre ganz eigene Weise. So passt sich Marc-Uwe durch die lange Zeit des Zusammenlebens und des gemeinsamen-durch-Berlin-Streifens auch immer stärker an die Fortbewegungsart des Kängurus an: er hüpft gemeinsam mit ihm durch die Straßen. Was das Känguru nach Aussagen in einer Fußnote „immer ein wenig, wenn er das macht.“ (K I, DKM: Die Korrekturen). Kein Wunder, dass Marc-Uwe schließlich auch eine eigene Not-to-do-Liste zu führen beginnt. So behauptet er, sich „an wahnwitzigen Känguru-Aktionen beteiligen“ habe er kürzlich auf seine geschrieben. (K II, DKM: Ein einfacher Plan).")
matches = re.finditer(regex, test_str, re.MULTILINE | re.IGNORECASE)
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