Regex101 – Reguläre Ausdrücke lernen und testen: Anleitung 2026

Regex101 – Reguläre Ausdrücke lernen und testen: Anleitung 2026

Reguläre Ausdrücke – kurz Regex – sind eine der mächtigsten Fähigkeiten in der Softwareentwicklung. Sie ermöglichen es, Texte nach komplexen Mustern zu durchsuchen, zu validieren und zu transformieren. Gleichzeitig gelten sie als schwer lesbar und fehleranfällig. Regex101 ist ein kostenloses Online-Tool, das Regex-Ausdrücke in Echtzeit erklärt, debuggt und testet – ein unverzichtbares Werkzeug für jeden Entwickler.

Was sind Reguläre Ausdrücke und wofür braucht man sie?

Reguläre Ausdrücke sind formale Zeichenketten, die ein Suchmuster beschreiben. Sie werden eingesetzt zum:

Die Regex101-Oberfläche erklärt

Regex101 ist in vier Bereiche aufgeteilt:

Tipp: Mit dem „Save"-Button lässt sich jeder Regex als Permalink speichern und teilen. So kann man Kollegen direkt einen Link zum funktionierenden Ausdruck schicken – ideal in Code-Reviews und Issue-Kommentaren.

Grundlegende Syntax: Metazeichen, Quantifizierer und Zeichenklassen

Element Syntax Bedeutung Beispiel
Beliebiges Zeichen . Jedes Zeichen außer Zeilenumbruch a.c matcht „abc", „axc"
Null oder mehr * 0 oder mehr Wiederholungen ab*c matcht „ac", „abc", „abbc"
Ein oder mehr + 1 oder mehr Wiederholungen ab+c matcht „abc", „abbc"
Optional ? 0 oder 1 Wiederholung colou?r matcht „color" und „colour"
Genau n-mal {n} Exakt n Wiederholungen \d{4} matcht „2026"
Zeichenklasse [abc] Eines der genannten Zeichen [aeiou] matcht jeden Vokal
Negierte Klasse [^abc] Keines der genannten Zeichen [^0-9] matcht alles außer Ziffern
Ziffern \d Äquivalent zu [0-9] \d+ matcht jede Zahl
Wortzeichen \w Buchstaben, Ziffern, Unterstrich \w+ matcht Wörter
Whitespace \s Leerzeichen, Tab, Zeilenumbruch \s+ matcht Leerraum

Gruppen und Capturing

Mit runden Klammern werden Gruppen gebildet. Eine Capturing-Gruppe (pattern) speichert den gematchten Text für spätere Verwendung – z. B. für Ersetzungsoperationen oder die Weiterverarbeitung in Code. Über $1, $2 etc. (in den meisten Sprachen) wird auf die Gruppe zugegriffen.

Named Groups erlauben lesbarere Ausdrücke: (?P<year>\d{4}) in Python oder (?<year>\d{4}) in JavaScript. In Regex101 werden benannte Gruppen farblich hervorgehoben und im Match-Bereich mit ihrem Namen angezeigt.

Nicht-fangenden Gruppen ((?:pattern)) werden eingesetzt, wenn eine Gruppe für die Logik nötig ist, ihr Inhalt aber nicht gespeichert werden soll – das spart Speicher und erhöht die Performanz.

Lookahead und Lookbehind

Lookaround-Assertions prüfen den Kontext, ohne Zeichen zu konsumieren:

Flags

Flags modifizieren das Verhalten des gesamten Ausdrucks. In Regex101 werden sie im Dropdown neben dem Pattern-Feld gesetzt:

Regex-Flavors: PCRE, Python, JavaScript und Go im Vergleich

Feature PCRE2 Python (re) JavaScript Go (regexp)
Lookbehind mit variabler Länge Ja Ja (ab 3.x) Nein Nein
Named Groups Ja (?P<name>...) Ja (?P<name>...) Ja (?<name>...) Ja (?P<name>...)
Rekursive Muster Ja Nein Nein Nein
Unicode-Kategorie-Klassen Ja \p{L} Ja (mit re.UNICODE) Ja (ab ES2018) Ja \p{L}
Possessive Quantifier Ja Nein Nein Nein
Achtung: Regex-Ausdrücke können bei schlecht gewählten Quantifizierern in sogenannte „Catastrophic Backtracking" laufen – das führt zu extremer CPU-Last und Timeouts. Tools wie Regex101 zeigen im „Debugger"-Tab, wie viele Steps ein Ausdruck benötigt.

Praktische Beispiele

Häufig genutzte Regex-Muster für Entwickler:

All diese Muster lassen sich direkt in Regex101 einfügen und mit eigenen Testdaten prüfen. Die Erklärungssektion rechts zeigt dabei jedes Detail des Musters. Für weiterführende Konzepte empfiehlt sich auch die MDN-Dokumentation zu regulären Ausdrücken.

Häufige Fragen (FAQ)

Was ist der Unterschied zwischen PCRE und JavaScript-Regex?
PCRE (Perl Compatible Regular Expressions) unterstützt mehr Features wie rekursive Muster und possessive Quantifier. JavaScript-Regex ist schlanker, hat aber seit ES2018 wichtige Features wie Named Groups und Lookbehind erhalten.
Kann Regex HTML parsen?
Einfache HTML-Snippets lassen sich mit Regex extrahieren, aber für vollständiges HTML-Parsing ist ein dedizierter Parser (z. B. BeautifulSoup in Python oder cheerio in Node.js) deutlich zuverlässiger und sicherer.
Wie teste ich Regex in meiner Programmiersprache?
Regex101 unterstützt die Flavors PCRE2, Python, JavaScript, Golang, Java und .NET. Einfach den passenden Flavor im Dropdown wählen, und der Ausdruck wird mit den Regeln der gewählten Sprache ausgewertet.
Warum matcht mein Ausdruck nicht, obwohl er aussieht wie richtig?
Häufige Ursachen: vergessene Flags (z. B. kein i für case-insensitive), falscher Flavor ausgewählt, oder unerwartete Leerzeichen im Teststring. Regex101 hebt im Debugger-Modus jeden Schritt hervor und zeigt, wo der Match scheitert.