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-2010 Jürgen Auer, Berlin.