Tutorial Regular Expressions – eine Einführung

Es wird mal wieder an der Zeit eine neue Tutorial-Reihe zu starten und was empfiehlt sich da besser als reguläre Ausdrücke (Regular Expressions) – dem Lieblingsfeind jedes Entwicklers. Ja, sie sind komplex, ja, es hätte einfacher gehen können und nein: Man kommt nicht dran vorbei! ;)

Selbst als Nicht-Programmierer gibt es kein Entrinnen vor dem Schweizer Messer der Textmustererkennung, dann spätestens wenn man sich in seiner gerade frisch installierten Open Source mit den sogenannten Permalinks herumschlägt stolpert man sehr schnell über mod_rewrite. Und genau dieses mod_rewrite hat zum einen bereits Generationen von Webworkern in den Wahnsinn getrieben, denn es setzt voll auf Regular Expressions.

Aber auch in anderen Bereichen kommt man um Regular Expressions nicht herum: zum Beispiel in Javascript oder auch in PHP. Wenn man es kann, ist es sehr einfach damit Regeln zu schreiben, die selbst komplexeste Texte durchsuchen können. So zum Beispiel könnte ich mir in einem Quelltext einer HTML-Seite alle Links ausgeben lassen. Auch beliebt sind die Ausdrücke bei zum Beispiel der Formular-Validierung, wo ich ziemlich schnell eine E-Mail auf ihre semantische Gültigkeit überprüfen kann.

Abgekürzt werden die kleinen Helferlein zumeist als Regex oder als Regexp – und trotz ihrer weiten Verbreitung haben sie zumeist einen riesigen Nachteil: Sie sind langsam! Deshalb muss deren Einsatz wohl überlegt sein. String-Operationen sind im Programmierumfeld stets die Operationen, die am meisten kosten, und eine Regular Expression macht diesen Umstand nicht gerade besser.

Aber Regular Expressions können noch viel mehr – sie können nicht nur ein Textmuster finden, sie können dieses auch in mehrere Teile zerlegen, die Reihenfolge der Teile ändern oder ganze Bereiche ersetzen. Natürlich ist man nur in einem Bereich, wo die Regular Expression schon mal über die Zeilengrenze hinaus geht, aber prinzipiell funktioniert es. Um wieder auf das Beispiel mod_rewrite zurückzukommen, hier ist zum Beispiel die Zerlegung einer URL gang und gebe. Die URL wird hierbei in der Regel umgeschrieben und zumeist „nur“ aus Parametern entsprechende Verzeichnisse erstellt. Ein Beispiel wäre zum Beispiel:

Von index.php?id=5 nach index/id/5

In den nächsten Wochen werde ich immer mal wieder das Theme reguläre Ausdrücke aufgreifen und keine Angst – ich werde weder das Wort formale Sprache nicht in den Mund nehmen ;)

Ähnliche Beiträge

Simple Regex Language für PHP Simple Regex Language ist eine sehr interessante Bibliothek für PHP. Regex sind eine Sache die zum einen durchaus komplex werden können, zum anderen a...
Tutorial Regular Expressions: Die Position einer Z... Wie man einfache Zeichenketten sucht, ist jetzt klar, zumeist ist es jedoch so das diese an festen Positionen innerhalb des Suchstrings stehen müssen ...
Tutorial Amazon Web Services mit PHP – I ... Die Amazon Web Services sind recht nett, wenn man einfach und schnell Content auf seine eigenen Seiten bringen möchte. Dabei geht es noch nicht einmal...
Tutorial Regular Expressions: Wiederholungen In den bisherigen Teilen des Tutorials haben wir Elemente immer so gesucht, das sie an einer bestimmten Stelle vorkommen mussten. Dies ist eher selten...

Eine Antwort auf „Tutorial Regular Expressions – eine Einführung“

  1. Pingback: RegEx: eMail validieren | casibus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.