Was sind reguläre Ausdrücke?
- Reguläre Ausdrücke sind eine mächtige Sprache zu “filtern” und “matchen” von Textmustern.
- Reguläre Ausdrücke sind eine Sequenz an Zeichen die ein Textmuster definieren.
Was sind Textmuster?
Alle Teilmengen von Zahlen und Zeichenketten sind Textmuster:
- “12345 Test-PLZ”
- “0176 / 35206462”
- “Mit freundlichen Grüßen”
Wofür brauche ich Regex?
- Muster matchen
Wenn das Muster vorhanden ist, dann strake Aktion X:
“12345 Test-PLZ”
- Muster suchen und ersetzen
Wenn das Muster vorhanden ist, dann ersetze es mit Muster X:
“0176 / 35206462″
- Muster extrahieren
Wenn das Muster Vorhanden ist, dann lege oder speichere das Muster an einem anderen Ort (Datenbank, Variable) ab.
“Mit freundlichen Grüßen”
Konkrete Anwendung
Populäre Stellen, an denen man auf reguläre Ausdrücke stoßen kann und an denen du dieses Wissen anbringen kannst:
- Web-Anwendungen
- Unix-Skripte
Im Folgenden wird davon ausgegangen, dass du eine entsprechende Stelle vorliegen hast und dich bereits informiert hast, wie reguläre Ausdrücke in der Umgebung deiner Wahl verwendet werden.
Am besten testest du deinen Ausdruck zuerst “auf dem Trockenen”. Dazu kannst du ein Onlinetool wie regextester benutzen.
Einelementige reguläre Ausdrücke
Die einfachste Regex-Form ist ein Suchmuster, das lediglich ein einzelnes Element als Treffer vorsieht. Sofern Sie nicht ein konkretes Element suchen, lässt sich ein solcher einelementiger regulärer Ausdruck zum Beispiel problemlos mithilfe einer Zeichenklasse definieren. Folgender Ausdruck erlaubt wahlweise die Ziffern „1“, „2“, „3“, „4“, „5“, „6“ oder „7“ als mögliches Resultat:
[1234567]
Da die Zahlen in diesem Fall direkt aufeinanderfolgen, wäre auch folgende, vereinfachte Schreibweise möglich:
[1-7]
Soll der reguläre Ausdruck dahingehend geändert werden, dass die Ziffer „4“ von der Suche ausgenommen wird, können Sie ebenfalls die einfachere Variante mit dem Minuszeichen nutzen:
[1-35-7]
Mehrelementige reguläre Ausdrücke
Auch bei einem mehrelementigen regulären Ausdruck können Sie mit Zeichenklassen arbeiten, um eine Auswahl verschiedener Treffer zu ermöglichen. Soll der Ausdruck beispielsweise zwei Elemente erfassen, für die unterschiedliche Resultate denkbar sind, reihen Sie einfach zwei entsprechende Zeichenklassen aneinander:
[1-7][a-c]
Auf das erste Element, eine Zahl zwischen „1“ und „7“, folgt also einer der Buchstaben „a“, ein „b“ oder ein „c“. Wie bereits erwähnt, ist hierbei die Kleinschreibung obligatorisch. Bevor Sie sich an dieser Stelle aber schon mit Modifiern auseinandersetzen, können Sie bereits mit der folgenden, kleinen Änderung des AusdrucksGroßbuchstaben einbeziehen:
[1-7][a-cA-C]