🌐 DE

🔣 Regex-Tester

Testen Sie reguläre Ausdrücke in Echtzeit und sehen Sie die Trefferergebnisse. Bietet Flag-Einstellungen, Gruppenerfassung und eine Bibliothek gängiger Muster.

Gängige Muster

RATGEBER

Mehr erfahren

01

1. Grundlagen regulärer Ausdrücke

Reguläre Ausdrücke (Regex) sind leistungsstarke Werkzeuge, um Muster in Zeichenketten zu definieren, zu suchen, zu extrahieren und zu ersetzen. Sie können wörtlich übereinstimmen (\d für eine Ziffer, \w für ein Wortzeichen) oder mit Sonderzeichen komplexe Muster ausdrücken. Beispiel: ^[a-z]+$ bedeutet eine Zeichenkette, die nur aus Kleinbuchstaben besteht. ^ markiert den Anfang, $ das Ende, [a-z] steht für a bis z, und + bedeutet eins oder mehrere. Sie werden in fast allen Programmiersprachen und Texteditoren unterstützt und sind unverzichtbar für Eingabevalidierung, Datenanalyse und Textersetzung.

02

2. Sammlung gängiger Muster

Hier sind in der Praxis häufig verwendete Regex-Muster. E-Mail: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$, Telefon (Deutschland): ^0[1-9][0-9]{1,4}[-\s]?[0-9]{3,10}$, URL: ^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b, Datum (JJJJ-MM-TT): ^\d{4}-\d{2}-\d{2}$, Passwort (mindestens 8 Zeichen, Groß-/Kleinbuchstabe+Ziffer+Sonderzeichen): ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$. Verwenden Sie diese Muster als Grundlage und passen Sie sie an Ihr Projekt an.

03

3. Erklärung der Regex-Flags

Regex-Flags steuern das Suchverhalten. g(global): findet alle Treffer, nicht nur den ersten. i(ignoreCase): Groß-/Kleinschreibung wird ignoriert (/hello/i trifft auf Hello, HELLO zu). m(multiline): ^ und $ beziehen sich auf Anfang/Ende jeder Zeile. s(dotAll): der Punkt (.) erfasst auch Zeilenumbruchzeichen (\n). u(unicode): behandelt vollständiges Unicode korrekt (Emojis usw.). y(sticky): beginnt die Suche nur an der Position lastIndex. Beispiel: /hello/gi findet alle „hello“ unabhängig von der Groß-/Kleinschreibung.

04

4. Erfassungsgruppen und Rückverweise

Klammern () erzeugen Gruppen, die übereinstimmende Teile für die spätere Verwendung erfassen. Beispiel: /(\d{4})-(\d{2})-(\d{2})/ wobei $1 das Jahr, $2 den Monat und $3 den Tag darstellt. Das Ergebnis-Array von match() in JavaScript enthält die Erfassungsgruppen. Rückverweise \1, \2 stimmen mit demselben Text wie vorherige Gruppen überein. Beispiel: /(\w+)\s+\1/ trifft auf „hello hello“ zu. Nicht erfassende Gruppen (?:) gruppieren, ohne zu erfassen, was die Leistung verbessert.

05

5. Lookahead und Lookbehind

Lookahead und Lookbehind prüfen ein Muster vor/nach der aktuellen Position, ohne es in den Treffer einzuschließen. Positiver Lookahead (?=): /\d(?=px)/ trifft nur auf Ziffern zu, die vor „px“ stehen („100“ in „100px“). Negativer Lookahead (?!): /\d(?!px)/ trifft auf Ziffern zu, denen kein „px“ folgt. Positiver Lookbehind (?<=): /(?<=\$)\d+/ trifft nur auf Ziffern zu, die auf „$“ folgen („100“ in „$100“). Negativer Lookbehind (?<!): das Gegenteil. Häufig verwendet, um bei der Passwortvalidierung das Vorhandensein bestimmter Zeichen zu prüfen.

06

6. Optimierung der Regex-Performance

Komplexe reguläre Ausdrücke können Leistungsprobleme verursachen. Seien Sie so spezifisch wie möglich ([a-z]+ statt .*). Ersetzen Sie unnötige Erfassungsgruppen durch nicht erfassende Gruppen (?:). Verwenden Sie faule Quantifizierer (*?, +?) statt gieriger (*, +), um Backtracking zu reduzieren. Bei großen Texten können String-Methoden (indexOf, startsWith) schneller sein als Regex. Kompilieren Sie Regex im Voraus zur Wiederverwendung (vermeiden Sie wiederholtes Erzeugen von new RegExp). Achten Sie auf ReDoS-Angriffe (Regular Expression Denial of Service): Verwenden Sie niemals Benutzereingaben direkt als Regex-Muster.

Häufig gestellte Fragen

Was bedeuten \d, \w und ^…$ in einem regulären Ausdruck?
\d steht für eine beliebige Ziffer, \w für ein Wortzeichen (Buchstabe, Ziffer oder Unterstrich). ^ markiert den Anfang und $ das Ende der Zeichenkette. Das Muster ^[a-z]+$ bedeutet z. B. „eine Zeichenkette, die ausschließlich aus Kleinbuchstaben besteht".
Wozu dient das Flag „g" (global)?
Ohne das g-Flag stoppt die Suche nach dem ersten Treffer. Mit gesetztem g-Flag findet der Regex-Tester alle Treffer im Text, nicht nur den ersten.
Wie funktionieren Erfassungsgruppen mit runden Klammern?
Klammern () erfassen den passenden Teilstring zur späteren Verwendung. Bei /(\d{4})-(\d{2})-(\d{2})/ steht $1 für das Jahr, $2 für den Monat und $3 für den Tag.
Was ist der Unterschied zwischen Lookahead und Lookbehind?
Lookahead (?=...) prüft ein Muster nach der aktuellen Position, Lookbehind (?<=...) davor – in beiden Fällen wird der geprüfte Teil aber nicht in den eigentlichen Treffer aufgenommen. So findet /\d(?=px)/ nur Ziffern, denen „px" folgt.
Warum sollte ich niemals Benutzereingaben direkt als Regex-Muster verwenden?
Ungeprüfte Benutzereingaben können zu ReDoS-Angriffen (Regular Expression Denial of Service) führen, bei denen ein bösartig konstruiertes Muster durch exzessives Backtracking die Anwendung lahmlegt. Verwenden Sie stattdessen feste, geprüfte Muster oder validieren Sie Benutzereingaben streng.