DokumenteBilderMedienPDF-Werkzeuge

Regex-Erklärer Online

Regex-Muster in verständliches Deutsch übersetzen, direkt in deinem Browser.

//
1Start of string
2One of: A, -, Z, a, -, z, 0, -, 9, ., _, %, +, -, one or more times
3Literal "@"
4One of: A, -, Z, a, -, z, 0, -, 9, ., -, one or more times
5Escaped character: \.
6One of: A, -, Z, a, -, z, at least 2 times
7End of string
Processed in your browser

Erklärer für reguläre Ausdrücke

Alle Varianten

Kompatibel mit Mustern aus JavaScript, Python, PCRE, Java, Go und Ruby.

100 % privat

Die Musteranalyse findet in deinem Browser statt. Deine Daten verlassen nie dein Gerät.

Klare Erklärung

Jedes Token des Musters in verständlicher Sprache erklärt, mit Beispieltreffern.

Sofort

Echtzeit-Erklärung während du tippst. Ohne Registrierung, ohne Wartezeit.

Drei Schritte, kein Aufwand

1

Deinen regulären Ausdruck einfügen

Tippe oder füge das Regex-Muster ein, das du verstehen möchtest – mit oder ohne Begrenzer.

2

Sofortige Erklärung

Das Tool analysiert das Muster und beschreibt auf Deutsch, was jeder Teil tut: Gruppen, Quantifizierer, Zeichenklassen und mehr.

3

Mit echtem Text testen

Gib Beispieltext ein und sieh in Echtzeit, welche Teile mit dem Muster übereinstimmen.

Noch Fragen?

Ein regulärer Ausdruck ist eine Mustersprache zum Suchen und Bearbeiten von Text. Er erlaubt es, ein Muster präzise zu beschreiben: zum Beispiel eine Telefonnummer, eine E-Mail-Adresse oder eine URL. Die Regex-Engine durchsucht Text und findet Zeichenketten, die diesem Muster entsprechen. Reguläre Ausdrücke werden von praktisch allen modernen Programmiersprachen unterstützt.

E-Mail: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$. URL: https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}. Internationale Telefonnummer: \+?[1-9]\d{1,14}. Nur Ziffern: ^\d+$. Deutsches Postleitzahlenformat: ^\d{5}$.

Regex sind extrem kompakt: Jedes Zeichen hat eine potenzielle Sonderbedeutung. Der Punkt (.) stimmt mit einem beliebigen Zeichen überein. Das Sternchen (*) bedeutet null oder mehr Wiederholungen. Eckige Klammern ([]) definieren Zeichenklassen. Diese Informationsdichte bedeutet, dass ein 20-Zeichen-Ausdruck sehr komplexe Regeln beschreiben kann – aber ohne Übung ist er auf den ersten Blick schwer zu verstehen.

PCRE (Perl Compatible Regular Expressions) ist der De-facto-Standard für PHP, Apache und nginx. JavaScript hat eine eigene Engine mit Unterschieden: Ältere Versionen unterstützen kein variabler-Länge-Lookbehind, und es gibt das /u-Flag für Unicode. Python verwendet das Modul re mit ähnlicher Syntax wie PCRE, aber mit einigen Unterschieden (z. B. \A und \Z für Anfang/Ende eines Strings). Go nutzt RE2, das aus Leistungsgründen keine Backreferences unterstützt. Java verwendet java.util.regex mit erweiterter POSIX-Syntax.

Zeichen mit Sonderbedeutung in Regex sind: . * + ? ^ $ { } [ ] | ( ) \. Um sie wörtlich zu verwenden, escaped man sie mit einem Backslash: \. für einen wörtlichen Punkt, \* für ein wörtliches Sternchen. In JavaScript innerhalb eines Strings ist doppeltes Escaping nötig: '\\.' weil der String bereits einen Backslash verbraucht. Viele Sprachen bieten Hilfsfunktionen wie re.escape() in Python oder preg_quote() in PHP.

Geschichte der regulären Ausdrücke (Ken Thompson 1968, ed-Editor), Theorie formaler Sprachen und Regex in der modernen Programmierung

Reguläre Ausdrücke haben ihren Ursprung in der Theorie formaler Sprachen des Mathematikers Stephen Kleene aus den 1950er Jahren, der reguläre Mengen und die algebraische Notation zu ihrer Beschreibung definierte. Ken Thompson war der erste, der Regex in Software implementierte: 1968 integrierte er sie in den Unix-Texteditor ed (und später in grep, dessen Name von global regular expression print stammt). Seine Implementierung nutzte Kompilierung in Maschinencode für effiziente Suche – eine Technik, die die Grundlage moderner Regex-Engines legte.

Die massenhafte Verbreitung von Regex kam mit Perl in den 1980er und 1990er Jahren. Larry Wall integrierte Regex nativ in die Sprachsyntax, und PCRE (Perl Compatible Regular Expressions) wurde zum De-facto-Standard. POSIX formalisierte 1992 zwei Ebenen: BRE (Basic Regular Expressions) und ERE (Extended Regular Expressions). Heute unterstützen praktisch alle Programmiersprachen Regex: Python (Modul re), JavaScript (RegExp), Java (java.util.regex), Go (regexp/RE2), Ruby, PHP (preg_*), .NET und viele mehr.

Regex sind ein zweischneidiges Werkzeug: extrem mächtig, aber auch eine Quelle von Sicherheitslücken. ReDoS (Regular Expression Denial of Service) ist ein Angriffstyp, bei dem ein schlecht geschriebenes Regex-Muster mit bestimmten bösartigen Eingaben eine exponentielle Ausführungszeit verursachen kann. Googles RE2-Engine (in Go verwendet) wurde speziell entwickelt, um lineare Ausführungszeit zu garantieren und damit ReDoS zu verhindern – auf Kosten fehlender Backreference-Unterstützung. OWASP führt ReDoS in seiner Liste der Sicherheitsrisiken für Webanwendungen.