Host Europe Blog

RegEx – Die Grundlagen: Arbeiten mit regulären Ausdrücken

Titelmotiv_-_Blogartikel zu RegEx - die Grundlagen. Arbeiten mit regulären Ausdrücken - Host Europe Blog

Reguläre Ausdrücke (Englisch: „regular expression“, abgekürzt RegEx) stellen in der Webentwicklung ein leistungsfähiges Instrument dar. Sie dienen insbesondere der Durchsuchung, Prüfung und Bearbeitung von Zeichenketten (Strings). Ausdrücke wie !#$%&’*+/ ähneln den Hieroglyphen bei einem Wutausbruch einer Comicfigur, die typischerweise über den Köpfen zu sehen sind. Deswegen fällt Einsteigern das Verstehen und Schreiben anfangs schwer. Erfahren Sie jetzt mehr über die regulären Ausdrücke.

Was ist ein regulärer Ausdruck?

Eine RegEx-Anweisung besteht aus der Aneinanderreihung von Zeichen mit einer bestimmten Bedeutung. Wenn Sie in Texten oder einer Zeichenkette nach einem bestimmten Muster suchen, finden Sie dieses durch die richtige Verwendung eines regulären Ausdrucks.

Es gibt technisch keine Begrenzung für die Zeichenlänge und Komplexität einer solchen Anweisung. Damit die ohnehin schwer lesbaren Ausdrücke übersichtlich bleiben, sollten Sie die Ausdrücke allerdings möglichst kurz halten und mit einem Kommentar versehen.

Was sind die Einsatzgebiete von regulären Ausdrücken?

Reguläre Ausdrücke gehören zum Alltag von Webentwicklern. Typische Einsatzgebiete:

In vielen Entwicklungsumgebungen gibt es das Objekt RegEx mit weiteren Methoden.

Praxis: das Literal und die Metacharacter

Ein RegEx besteht aus Literalen und sogenannten Metacharactern mit spezieller Bedeutung. Sie dienen nicht der Darstellung von gesuchten Zeichen, sondern der Durchführung spezieller Anweisungen.

Character Class Range

Sie können einen regulären Ausdruck vereinfacht mit einer Range angeben. [a b c d e] enthält erlaubte gesuchte Zeichen. Der Ausdruck steht für ein Zeichen: a oder b oder c oder d oder e. [a-e] führt zur gleichen Suche. Möglich sind [a-z], [A-Z], [1-9] und beliebige Teilmengen. Um bei Zahlen von 1 bis 9 die 5 nicht zu suchen, funktioniert der Ausdruck [1-46-9]. Damit ist der Bereich in 1 bis 4 und in 6 bis 9 aufgeteilt.

Wichtig: Der Ausdruck gilt immer nur für ein Zeichen. [1-13] sucht daher nicht nach 1 bis 13, sondern nur nach 1 bis 1 oder 3.

Character Class Negierung

Ein regulärer Ausdruck kann auch negiert sein, das heißt: [^a] durchsucht eine Zeichenkette nach Zeichen, die nicht a sind. [^a-d] findet einzelne Zeichen, außer den Buchstaben a bis d.

Freebie Character Classes

Weitere Vereinfachungen:

Effizientere Ausdrücke mit Multipliers erstellen

Für die Multiplier kommen geschwungene Klammern {} zum Einsatz. a{4} sucht nach aaaa.

Hinweis: [abc] {3} sucht nach dem kartesischen Produkt, heißt: aaa, aab, aac, aba, abb etc.

Multiplier & Ranges

Durch die Kombination lässt sich ein Ausdruck wie [xyz]{5} erstellen. Gesucht werden fünf Zeichen, jedes davon kann x,y oder z sein.

Quantifier

Das Zeichen ? macht das vorangegangene Zeichen optional. Das Zeichen wird dem Ergebnis, falls vorhanden, hinzugefügt: abc? passt zu ab oder abc. Es gibt weitere Varianten mit \?, ?? und ?+.

Ein komplexeres Beispiel: Validierung von E-Mail-Adressen

Die Validierung einer eingegebenen E-Mail-Adresse erfordert einen komplexeren Ausdruck. Tatsächlich verwenden Sie im Formular einfach input type=email. Im Hintergrund findet die Prüfung allerdings mit einem regulären Ausdruck wie folgendem statt:

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/

Für die Validierung von E-Mail-Feldern finden Sie im Netz weitere, mehr oder weniger strikte reguläre Ausdrücke. Der Ausdruck vor dem @-Zeichen definiert die erlaubten Zeichen für den verwendeten Namen, die auf das @ folgenden für den Anbieternamen; dann folgen der „.“ und weitere Zeichen.

RegEx – Zusammenfassung

Reguläre Ausdrücke sind ein komplexes Thema und bringen Anfänger schnell zum Schwitzen. Im Netz finden Sie Antworten auf spezielle Fragestellungen. Am besten durchsuchen Sie das Internet nach benötigten Ausdrücken. Zum Üben und Lernen der RegEx-Befehle gibt es gute Tutorials wie auf regexone.com. Damit entwickeln Sie ein Gefühl für die umfangreichen Möglichkeiten bei der Arbeit mit RegEx-Befehlen.

 

Bildnachweis: Photo by Artem Sapegin on Unsplash

Die mobile Version verlassen