Sql-und-Xml - Home

Regular Expressions

Reguläre Ausdrücke - einen Text nach komplexen Ausdrücken durchsuchen

Regular Expressions stellen eine Technik dar, mit der Zeichenfolgen nach Mustern (expressions) durchsucht werden können. Dabei handelt es sich nicht nur um die von Textverarbeitungsprogrammen bekannte, gewöhnliche Suche nach Zeichen und Wörtern, sondern es können zusätzliche Meta-Angaben verwendet werden. RegEx-Anweisungen überprüfen damit das Vorhandensein von Zeichenkombinationen, die weit über gewöhnliche Suchtechniken hinausgehen.

Inzwischen haben sie sich, hierin Sql und Xml vergleichbar, als plattform- und betriebssystemübergreifender Standard entwickelt. Analog zur Einbettung von Sql in eine Wirtssprache werden RegEx-Ausdrücke von unterschiedlichen Programmiersprachen durch spezielle Objekte oder Operatoren unterstützt. Ferner können sie als zusätzliche Information bereitgestellt werden, so daß ein RegEx-verarbeitendes Programm diese Informationen nutzt, um Einträge zu filtern. So verwenden Mailprogramme RegEx-Filter, um Spam zu identifizieren oder beim Eintreffen von Mails, welche benutzerdefinierte RegEx-Bedingungen erfüllen, spezifische Aktionen durchzuführen. Programmierer nutzen RegEx, um die syntaktische Korrektheit von Benutzereingaben zu testen. Das evt-Watch aus den Freeware - Tools erlaubt die Festlegung selbstdefinierter Regular Expressions, um EventLog-Einträge nach Textmustern zu durchsuchen. Das Hauptprojekt Server-Daten: Die Web - Datenbank als CRM - Lösung wird beim Erstellen von Textspalten eine Option zum Festlegen von RegEx-Ausdrücken anbieten. Damit werden in den Textfeldern nur jene Eingaben zugelassen, welche die zusätzlichen Einschränkungen erfüllen (ISBN-Nummern oder Email-Adressen).

Die folgenden Seiten erläutern die Technik der Regular Expressions. Zum Testen der Beispiele kann der RegEx-Trainer interaktiv genutzt werden. Damit ist keine zusätzliche Programmiersprache oder -umgebung zur Erarbeitung dieses Standards notwendig.
  • Zeichen, Maskierungen, Klassen und Klammern: Grundlegende Prinzipien - Text und Match-Ausdruck, Zeichen, Escapezeichen und Zeichenklassen, Verwendung von Klammern.
  • Gierige und träge Quantifikatoren: Mit Quantifikatoren kann festgeschrieben werden, wie oft ein Muster mindestens / höchstens / genau auftreten muß, damit die Suche erfolgreich ist
  • Assertionen und nicht zurückverfolgende Teilausdrücke: Assertionen überprüfen zusätzliche Bedingungen wie Wortgrenzen oder die Existenz bzw. Nichtexistenz von Mustern. Nicht zurückverfolgende Teilausdrücke verkürzen die Verarbeitungszeit, falls aus der Aufgabenstellung heraus zusätzliche Einschränkungen bekannt sind.
  • Alternierungen, Zurückverfolgen und If-Verzweigungen: Alternierungen ermöglichen eine Art Oder-Prüfung. Sie lassen sich zu Wenn-Dann-Sonst-Suchmustern erweitern.
  • Optionen und Kommentare: Obwohl Suchmuster eine extrem kompakte Notation darstellen, können Kommentare hinzugefügt werden. Die Verarbeitung wird durch Optionen modifiziert, die beim Kompilieren oder inline festzulegen sind.
  • Glossar: Das Glossar fasst stichwortartig alle Konstrukte zusammen, es ist von den Einzeldarstellungen her durch Links erreichbar
Die Schwierigkeit bei Regular Expressions liegt weniger in den einzelnen Sonderzeichen, sondern mehr darin, die Interaktion zwischen den verschiedenen Bausteinen zu verstehen. Zu gegebener Zeit werden deshalb noch einige Seiten mit Beispielen folgen.

© 2003-2014 Jürgen Auer, Berlin.