Reguläre Ausdrücke – kurz Regex oder RegExp – gehören zu den mächtigsten Werkzeugen in der Textverarbeitung. Mit einem einzigen kompakten Muster lassen sich E-Mail-Adressen validieren, Daten aus Logdateien extrahieren oder ganze Textbausteine ersetzen. Der Ruf von Regex, kryptisch und schwer lesbar zu sein, ist nicht ganz unverdient. Wer die Bausteine aber einmal verstanden hat, gewinnt ein Werkzeug, das in fast jeder Sprache und jedem Editor funktioniert. Dieser Artikel führt dich durch die Grundlagen.
Was ist ein regulärer Ausdruck?
Ein regulärer Ausdruck ist ein Suchmuster, das eine Menge von Zeichenketten beschreibt. Statt nach einem festen Wort zu suchen, definierst du eine Regel: "Finde alles, was wie eine Postleitzahl aussieht" oder "Finde jede Zeile, die mit einem Datum beginnt". Die Regex-Engine prüft dann, welche Teile eines Textes auf dieses Muster passen.
Regex wird in unzähligen Kontexten genutzt: in der Eingabevalidierung von Formularen, bei Suchen-und-Ersetzen in Editoren, in der Log-Analyse, bei der Datenbereinigung und in vielen Konfigurationsdateien. Das Grundprinzip ist überall gleich, auch wenn einzelne Sprachen kleine Syntaxunterschiede haben.
Die wichtigsten Bausteine
Literale und Metazeichen
Die meisten Zeichen in einem Regex stehen für sich selbst – das Muster katze findet schlicht die Zeichenfolge "katze". Spannend wird es durch Metazeichen, die eine Sonderbedeutung haben:
.– steht für ein beliebiges einzelnes Zeichen.^– Anker für den Zeilenanfang.$– Anker für das Zeilenende.\– escaped das folgende Metazeichen, um es wörtlich zu suchen (z. B.\.für einen echten Punkt).
Zeichenklassen
Mit eckigen Klammern definierst du eine Auswahl erlaubter Zeichen. [aeiou] passt auf jeden einzelnen Vokal, [0-9] auf jede Ziffer, [a-z] auf jeden Kleinbuchstaben. Es gibt praktische Kurzformen: \d für Ziffern, \w für Wortzeichen (Buchstaben, Ziffern, Unterstrich) und \s für Leerraum. Die Großbuchstaben-Varianten \D, \W und \S negieren das jeweils.
Quantoren
Quantoren legen fest, wie oft das vorangehende Element auftreten darf:
*– null oder mehr Wiederholungen.+– eine oder mehr Wiederholungen.?– null oder eine Wiederholung (macht etwas optional).{2,4}– zwischen zwei und vier Wiederholungen.
So findest du etwa mit \d{5} eine fünfstellige Zahl wie eine deutsche Postleitzahl. Diese vielen kleinen Bausteine wirken anfangs unübersichtlich – am schnellsten verstehst du sie, wenn du sie live ausprobierst. Genau dafür eignet sich der Regex Tester: Du tippst dein Muster ein, fügst Beispieltext ein und siehst die Treffer sofort farbig markiert.
Capture Groups und Lookarounds
Mit runden Klammern ( ) bildest du Capture Groups. Sie gruppieren nicht nur Teile des Musters, sondern merken sich den getroffenen Text, sodass du ihn später wiederverwenden oder extrahieren kannst. Beim Parsen eines Datums wie 2026-06-15 könntest du Jahr, Monat und Tag in drei getrennten Gruppen einfangen.
Fortgeschrittener sind Lookarounds: Ein Lookahead (?=...) prüft, ob etwas folgt, ohne es selbst zu matchen. Ein Lookbehind (?<=...) prüft, ob etwas vorausgeht. Damit lassen sich sehr präzise Bedingungen formulieren, etwa "finde eine Zahl, aber nur wenn ein Euro-Zeichen davorsteht".
Typische Praxisbeispiele
Damit Regex greifbar wird, hier ein paar gängige Aufgaben, für die der Regex Tester fertige Presets mitbringt:
- E-Mail-Adresse: grob mit
\S+@\S+\.\S+, für strenge Validierung deutlich komplexer. - URL: Erkennung von
http://oderhttps://gefolgt von Domain und Pfad. - IP-Adresse: vier durch Punkte getrennte Zahlengruppen.
- Telefonnummer: Ziffernfolgen mit optionalen Leerzeichen, Bindestrichen oder Vorwahl.
Greedy vs. lazy: die häufigste Falle
Quantoren sind standardmäßig greedy (gierig): Sie versuchen, so viel wie möglich zu matchen. Das Muster ".*" auf den Text "a" und "b" matcht nicht etwa nur "a", sondern alles von der ersten bis zur letzten Anführung. Ein angehängtes ? macht den Quantor lazy (genügsam): ".*?" matcht dann nur den kürzestmöglichen Treffer. Dieses Verhalten ist eine der häufigsten Ursachen für unerwartete Ergebnisse.
Warum man Regex immer testen sollte
Reguläre Ausdrücke direkt im Produktivcode zu schreiben, ohne sie vorher zu prüfen, ist riskant. Ein zu gieriges Muster löscht versehentlich zu viel, ein zu strenges lässt gültige Eingaben durchfallen. Indem du dein Muster vorab an echten Beispieldaten testest, siehst du sofort, ob es zu viel, zu wenig oder genau das Richtige trifft. Sichtbare Capture Groups helfen außerdem zu prüfen, ob die Extraktion wie gewünscht funktioniert.
Wer mit Text arbeitet, findet weitere nützliche Helfer wie den Regex Escape Tool, um Sonderzeichen sicher in ein Muster einzubetten, oder die gesamte Webtools-Sammlung für Entwickler und Texter.
Häufige Fragen
Sind reguläre Ausdrücke in allen Sprachen gleich?
Die Grundlagen – Metazeichen, Quantoren, Zeichenklassen – sind weitgehend identisch. Es gibt aber Dialekte: JavaScript, Python (PCRE-nah) und andere unterscheiden sich bei Details wie Lookbehind-Unterstützung oder benannten Gruppen. Teste dein Muster idealerweise in der Engine, die du später einsetzt.
Wann sollte ich besser kein Regex verwenden?
Für stark verschachtelte Strukturen wie vollständiges HTML oder JSON ist Regex ungeeignet – dafür gibt es spezialisierte Parser. Regex glänzt bei flachen, musterbasierten Aufgaben.
Wie lese ich ein fremdes, langes Regex?
Zerlege es Stück für Stück und teste Teilmuster einzeln. Ein Tester mit Live-Markierung zeigt dir, welcher Teil welchen Treffer erzeugt, sodass du die Logik nachvollziehen kannst.