🌐 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.