0

Regular Expressions: Eine Einführung

Dieser Beitrag ist Teil 1 von (bisher) 1 Teilen in der Beitragsserie Reguläre Ausdrücke.

Die Suchfunktion – beispielsweise in Microsoft Word – nutzen wir in unserer Arbeit täglich. Doch was, wenn wir nicht ein bestimmtes Wort, sondern einen String (= eine Zeichensequenz) finden möchten, der nach einem bestimmten Muster aufgebaut ist? Oder alle Datumsangaben im vorliegenden Schriftsatz? Oder alle Zahlen, die größer als beispielsweise 10.000 sind? Hier kommen Regular Expressions zur Anwendung. Dieser Artikel ist der erste Teil einer mehrteiligen Serie zum Thema Regular Expressions. Die weiteren Teile werden nach ihrem Erscheinen hier verlinkt.

Grundlegendes

Bei Regular Expressions handelt es sich um die syntaktische Beschreibung einer Menge von Zeichenketten. In Microsoft Word kommen Regular Expressions in Form von Wildcards zum Einsatz, wobei Sie diese als “Mustervergleich” zunächst aktivieren müssen:

Beachten Sie, dass sich Microsoft Words Wildcards von Regular Expressions im Detail unterscheiden und dieser Artikel zunächst eine Einführung in Regular Expressions im Allgemeinen gibt. Wir empfehlen daher, den zu durchsuchenden Text (soweit keine datenschutzrechtlichen Bedenken entgegenstehen) in ein Online-Tool wie regex101.com zu kopieren und sich dort zu versuchen. Alternativ können Sie einen Texteditor mit Unterstützung für Regular Expressions – wie beispielsweise Notepad (Windows) oder BBedit (Mac) – nutzen, sodass Sie Ihren Text nicht aus der Hand geben müssen.

Der “.” und der *Operator

Ein Punkt (“.”) findet jedes beliebige Zeichen, stellt also keinen Punkt, sondern einen Suchbegriff dar. Suchen Sie beispielsweise auf regex101.com im Wort “Gesetz” nach “.”, werden Sie sechs Suchtreffer haben – einen für jeden Buchstaben:

Sollen alle “matches” eines bestimmten Suchcharakters gefunden werden, kommt der *-Operator zum Einsatz. Hierdurch werden maximal viele Wiederholungen eines Suchoperators gefunden, sodass beispielsweise der Suchbegriff “.” in obigem Beispiel ein (!) Ergebnis mit dem gesamten Wort nach sich zieht:

Wichtig ist, an dieser Stelle den Unterschied zwischen beiden Beispielen zu erkennen: Während “.” sechs Ergebnisse mit je einem Buchstaben liefert, findet “.*” ein Ergebnis mit dem gesamten Wort.

“\” – Der Escape-Character

Doch was, wenn beispielsweise das Satzzeichen “.” gefunden werden soll? Die meisten Regular Expression-Engines, also die Programme, welche unsere Suchanfrage interpretieren und ausführen, würde in diesem Fall nach einem beliebigen Zeichen suchen. Hier kommt der sogenannten Escape-Character in Form des “\” (Backslash) ins Spiel. Dadurch signalisieren wir der Engine, dass wir nicht den Regular Expression-Operator, sondern das Satzzeichen “.” meinen. Kombiniert mit der Suche nach einem Leerzeichen und einer Ziffer in Form der “sd”-Operatoren (dazu mehr im nächsten Artikel) können wir nun beispielsweise nach zitierten Absätzen suchen:

Ausblick

Im nächsten Artikel dieser Reihe werden wir uns weiter der Suche nach Ziffern sowie alternativen Suchbegriffen widmen. So werden Sie beispielsweise Fundstellen, deren Formatierung Ihnen bekannt ist, aus einem Dokument extrahieren können. Zur Übung empfehlen wir Ihnen, sich zunächst mit der grundlegenden Funktionsweise von Regular Expressions mithilfe der “Quick Reference” auf regex101.com vertraut zu machen.

Schreibe einen Kommentar

Es gelten die üblichen Spielregeln. Der Name wird veröffentlicht, die E-Mail-Adresse nicht. Bitte freundlich und sachbezogen bleiben.