
Regex
Ein Regex ist ein kurzer Suchbefehl, mit dem man in einem Text nicht nach einem festen Wort sucht, sondern nach einem Muster – etwa nach allen Datumsangaben oder allen E-Mail-Adressen. Fast jede Programmiersprache und viele Editoren verstehen diese Schreibweise.
Wenn du in einem Dokument nach dem Wort „Termin“ suchst, gibst du genau dieses Wort ein. Du findest dann nur exakt diese Buchstabenfolge. Oft will man aber etwas Allgemeineres finden: alle Telefonnummern, alle Datumsangaben, alle Wörter mit doppeltem „s“. Ein Regex ist eine kurze Zeichenfolge, die genau so ein Suchmuster beschreibt. Statt „finde dieses Wort“ sagt man damit „finde alles, was so aufgebaut ist“. Der volle Name lautet regulärer Ausdruck, im Alltag sagt fast niemand so.
Warum Programmierer ohne Muster-Suche verloren wären
Sehr viel Arbeit mit Computern besteht aus dem Durchsuchen und Aufräumen von Texten. Eine Firma hat eine Liste mit 50.000 Kundendaten und will alle ungültigen E-Mail-Adressen finden. Von Hand ist das unmöglich, mit einer normalen Suche auch. Mit einem Regex ist es eine Zeile Code.
Der zweite Grund ist Einheitlichkeit. Regex funktioniert fast überall gleich: in Python, in JavaScript, in Suchfeldern von Editoren wie VS Code, in Serverprogrammen. Wer die Schreibweise einmal versteht, kann sie jahrzehntelang in ganz verschiedenen Werkzeugen nutzen. Die Grundidee stammt aus den 1950er Jahren und hat sich kaum verändert.
Regex hat allerdings einen schlechten Ruf, und der ist teilweise verdient. Die Muster sind extrem knapp geschrieben und deshalb schwer zu lesen. Ein Ausdruck, den man selbst vor drei Monaten geschrieben hat, wirkt oft wie eine fremde Sprache. Deshalb gilt die Faustregel: Regex ist stark für einfache Muster und eine schlechte Idee für komplizierte Strukturen wie ganze HTML-Seiten.
Die Bausteine eines Musters
Ein Regex besteht aus normalen Zeichen und aus Sonderzeichen mit besonderer Bedeutung. Ein Punkt steht für „irgendein beliebiges Zeichen“. Ein Stern hinter einem Zeichen bedeutet „beliebig oft, auch null mal“. In eckigen Klammern listet man erlaubte Zeichen auf: [aeiou] passt auf jeden Vokal.
Ein Beispiel: Das Muster \d sucht nach genau vier Ziffern hintereinander. Damit findet man Jahreszahlen wie 2024 oder Postleitzahlen. Das \d ist die Abkürzung für „eine Ziffer“, die geschweiften Klammern geben die Anzahl an. Aus solchen kleinen Bausteinen setzt man längere Muster zusammen.
Wichtig ist, wie das Programm das Muster abarbeitet. Es geht den Text Zeichen für Zeichen durch und probiert, ob das Muster ab dieser Stelle passt. Passt es nicht, rückt es eine Position weiter. Bei schlecht gebauten Mustern kann dieses Ausprobieren explodieren, weil das Programm Millionen Kombinationen durchtestet. Solche Fälle nennt man katastrophales Backtracking, und sie haben schon große Webseiten für Stunden lahmgelegt.
Regex im Alltag und in KI-Werkzeugen
Du begegnest Regex meist, ohne es zu merken. Wenn ein Anmeldeformular meckert, deine E-Mail-Adresse sei ungültig, prüft dahinter oft ein Regex. Auch Passwortregeln wie „mindestens eine Zahl und ein Sonderzeichen“ werden häufig so kontrolliert. In Suchfeldern von Programmiereditoren gibt es fast immer einen kleinen Schalter, der die Muster-Suche einschaltet.
Rund um künstliche Intelligenz taucht Regex an einer überraschenden Stelle auf. Bevor ein Sprachmodell mit Texten trainiert wird, müssen riesige Datenmengen gesäubert werden. Werbezeilen, Steuerzeichen und kaputte Webseitenreste werden dabei oft mit Regex-Mustern herausgefiltert. Auch die Antworten von Chatbots werden häufig so durchsucht, etwa um eine Zahl oder einen Programmcode-Block sauber herauszuziehen.
Und es gibt eine neue Arbeitsteilung. Weil Regex schwer zu schreiben, aber leicht zu erklären ist, lassen sich viele Entwickler die Muster inzwischen von einem Chatbot erzeugen. Das funktioniert oft gut, ersetzt aber das Testen nicht. Ein Muster, das in neun Fällen passt und im zehnten still versagt, fällt sonst erst auf, wenn die Daten schon falsch sind.