Regex-Tester Online
Teste reguläre Ausdrücke in Echtzeit mit Treffer-Hervorhebung.
2 matches found
Warum du es nutzen solltest
Debugge deine Regex sofort
Echtzeit
Treffer werden beim Tippen hervorgehoben. Kein Neuladen, keine Senden-Schaltflächen.
Erfassungsgruppen
Sieh jede erfasste Gruppe einzeln mit ihrem Index und Wert.
Alle Flags
Vollständige Unterstützung der Flags g, i, m, s aus der ECMAScript/JavaScript-Engine.
Keine Datenübertragung
Dein Testtext verlässt den Browser nie. Ideal für sensible Daten.
So funktioniert es
Drei Schritte, kein Aufwand
Gib dein Regex-Muster ein
Tippe deinen regulären Ausdruck in das Musterfeld. Wähle die Flags: g, i, m, s.
Füge deinen Testtext ein
Gib den Text ein, gegen den du das Muster testen möchtest. Treffer werden sofort hervorgehoben.
Überprüfe die Ergebnisse
Sieh dir vollständige Treffer und Erfassungsgruppen an. Passe das Muster an, bis du das gewünschte Ergebnis erhältst.
FAQ
Noch Fragen?
Ein regulärer Ausdruck (Regex oder Regexp) ist eine Zeichenfolge, die ein Suchmuster in Text definiert. Sie sind eine formale Sprache aus der Automatentheorie und formalen Sprachtheorie. Mit Regex kannst du Text mit komplexen Mustern in einer einzigen Codezeile suchen, validieren, extrahieren und ersetzen. Sie werden in jeder Programmiersprache, in Texteditoren, Datenbanken und Befehlszeilenwerkzeugen eingesetzt.
Zu den am häufigsten verwendeten Mustern zählen: E-Mail (^[\w.+-]+@[\w-]+\.[\w.]+$), URL (https?://[\S]+), Telefon (\+?[\d\s\-()]{7,15}), Postleitzahl (/^\d{5}(-\d{4})?$/), ISO-Datum (\d{4}-\d{2}-\d{2}), IPv4 (\b(?:\d{1,3}\.){3}\d{1,3}\b) und nur alphanumerische Zeichen ([a-zA-Z0-9]+). Diese Muster sind Ausgangspunkte – in der Produktion sollten sie stets an das genaue erwartete Format angepasst werden.
Flags ändern das Verhalten des Musters: g (global) findet alle Treffer statt beim ersten zu stoppen; i (insensitive) ignoriert die Groß- und Kleinschreibung; m (multiline) lässt ^ und $ mit dem Anfang und Ende jeder Zeile übereinstimmen, nicht nur des gesamten Texts; s (dotAll) lässt den Punkt auch mit Zeilenumbrüchen übereinstimmen, was standardmäßig nicht der Fall ist. Flags können kombiniert werden: /muster/gim.
Erfassungsgruppen, definiert mit Klammern (), ermöglichen das Extrahieren bestimmter Teile eines Treffers. Zum Beispiel erfasst /(\d{4})-(\d{2})-(\d{2})/ auf '2024-03-15' drei Gruppen: Jahr, Monat und Tag. Benannte Gruppen (?<name>muster) ermöglichen den Zugriff über den Namen statt über den numerischen Index. Nicht-erfassende Gruppen (?:muster) gruppieren ohne zu erfassen – nützlich, um Quantifizierer anzuwenden, ohne eine Gruppe zu erstellen.
Lookahead und Lookbehind sind Positionsaussagen, die überprüfen, was vor oder nach einer Position steht, ohne Zeichen zu verbrauchen. Positiver Lookahead (?=muster): trifft zu, wenn danach muster folgt. Negativer Lookahead (?!muster): trifft zu, wenn muster NICHT folgt. Positiver Lookbehind (?<=muster): trifft zu, wenn muster davor steht. Negativer Lookbehind (?<!muster): trifft zu, wenn muster NICHT davor steht. Zum Beispiel extrahiert \d+(?= Euro) Zahlen, die von Euro gefolgt werden, ohne das Wort einzuschließen.
Geschichte der regulären Ausdrücke: von Kleene 1951 bis PCRE
Reguläre Ausdrücke wurden 1951 von Stephen Kleene in seiner Arbeit Representation of Events in Nerve Nets and Finite Automata mathematisch formuliert, die algebraische Notation für reguläre Sprachen einführte. Der Kleene-Stern-Operator (*) trägt seinen Namen. Die erste praktische Softwareimplementierung stammte von Ken Thompson im Texteditor qed im Jahr 1968 für CTSS (Compatible Time-Sharing System). Thompson implementierte Regex mit einer effizienten NFA-Konstruktion (nichtdeterministischer endlicher Automat), die O(n)-Komplexität in der Textgröße garantierte.
PCRE (Perl Compatible Regular Expressions) wurde 1997 von Philip Hazel als C-Bibliothek entwickelt, die die Regex-Syntax von Perl 5 reimplementiert. PCRE fügte Funktionen hinzu, die klassischen Engines fehlten: Lookahead/Lookbehind, benannte Gruppen, Rückverweise und Rekursion. PCRE wurde zur De-facto-Regex-Engine für PHP, Apache, nginx, R und hunderte weiterer Anwendungen. ECMAScript (JavaScript) implementiert seine eigene Engine mit ähnlicher, aber unterschiedlicher Semantik – insbesondere Lookbehind-Unterstützung, die erst in ES2018 hinzugefügt wurde.
In der modernen Webentwicklung sind Regex unverzichtbar für Formularvalidierung im Browser, Datenextraktion beim Scraping, Transformationen in Build-Tools wie webpack und vite, Routing-Regeln in Frameworks wie Express und Next.js sowie erweiterte Suche in Editoren wie VS Code. Der Unterschied zwischen PCRE- und ECMAScript-Varianten betrifft hauptsächlich: Lookbehind variabler Länge (PCRE unterstützt es, ECMAScript hat Einschränkungen), bedingte Verweise und Rekursion (nur PCRE) sowie einige Escape-Sequenzen.