Editor
Warte auf Eingabe oder Regex-Ausführung…
Aktionen
Warum diesen Regex-Tester verwenden
- Echtzeit-Abgleich mit optionalem "Live"-Modus, der bei jeder Eingabe neu ausgeführt wird
- Strukturierte Trefferliste mit Startindex, Endindex, Wert und benannten Erfassungsgruppen
- Vollständige JavaScript/ECMAScript RegExp-Syntaxunterstützung (gleiche Engine wie Ihre JS-Laufzeitumgebung)
- Flag-Steuerung: g, i, m, s, u, y – sicher kombinieren und experimentieren
- Grundlegende Leistungseinblicke mit Ausführungszeit pro Durchlauf in Millisekunden
- Nur-Text-Zusammenfassungsausgabe für schnelles Kopieren/Einfügen in Tickets, Dokumente oder Commit-Nachrichten
- Hervorragend zum Lernen: Muster prototypisieren ohne vollständiges Projekt oder Testsuite
- Ideal für alltägliche Aufgaben: Log-Analyse, Validierung, URL-/ID-Extraktion, schnelle Datenbereinigung
- Ergebnisliste ist weich begrenzt, um UI-Einfrieren bei großen Texten zu vermeiden
🔧 So verwenden Sie den Regex-Tester for regex-tester
1. Fügen Sie Ihren Testtext ein oder tippen Sie ihn
Fügen Sie den Text hinzu, den Sie durchsuchen möchten: Logs, Ausschnitte, CSV-Fragmente, HTML, JSON, alles, was Klartext ist.
2. Schreiben Sie Ihr Regex-Muster
Geben Sie den regulären Ausdruck **ohne umgebende Schrägstriche** ein. Zum Beispiel: <code>\b\w+@\w+\.\w+</code> für ein einfaches E-Mail-ähnliches Muster oder <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code> mit benannten Gruppen.
3. Flags setzen (g, i, m, s, u, y)
Schalten Sie Flags wie <code>g</code> (global), <code>i</code> (groß-/kleinschreibungsunabhängig) oder <code>m</code> (mehrzeilig) um. Im Hintergrund erstellt der Tester <code>new RegExp(pattern, flags)</code> genau wie JavaScript.
4. Treffer & Gruppen überprüfen
Überprüfen Sie jeden Treffer mit seinem Index, optionalem Endindex und Erfassungsgruppen. Benannte Gruppen erscheinen als JSON-ähnliche Map, sodass Sie sie in Test-Fixtures, Parser oder Dokumentation kopieren können.
5. Zusammenfassung kopieren
Verwenden Sie die Textzusammenfassung als schnellen Bericht: Sie listet Treffer mit Indizes und Gruppen auf, bereit zum Einfügen in Tickets, Code-Review-Kommentare oder Spickzettel.
Regex-Syntax & Engine-Details
Zeichenklassen & Grundlagen
Kernbausteine, die von der JavaScript RegExp-Engine unterstützt werden.
| Muster | Bedeutung | Beispiel |
|---|---|---|
| . | Beliebiges Zeichen außer Zeilenumbrüchen (außer bei <code>s</code>-Flag) | <code>a.c</code> → passt auf <code>abc</code> |
| \d, \w, \s | Ziffern, Wortzeichen, Leerzeichen | <code>\d+</code> → <code>123</code> |
| \D, \W, \S | Negierte Versionen der obigen | <code>\S+</code> → Nicht-Leerzeichen-Folgen |
| [abc] | Zeichensatz | <code>[aeiou]</code> → ein einzelner Vokal |
| [^abc] | Negierter Satz | <code>[^0-9]</code> → Nicht-Ziffer |
| ^, $ | Anfang und Ende der Eingabe (oder Zeile mit <code>m</code>) | <code>^Hello</code>, <code>!$</code> |
Quantifizierer
Wiederholung vorheriger Tokens, mit gierigem und trägem Verhalten.
| Muster | Bedeutung | Beispiel |
|---|---|---|
| ? | 0 oder 1 Mal | <code>colou?r</code> → passt auf <code>color</code> und <code>colour</code> |
| * | 0 oder mehr | <code>a*b</code> → <code>b</code>, <code>aaab</code> |
| + | 1 oder mehr | <code>\d+</code> → <code>1</code>, <code>123</code> |
| {n} | Genau n | <code>a{3}</code> → <code>aaa</code> |
| {n,} | Mindestens n | <code>\d{3,}</code> → <code>123</code>, <code>1234</code> |
| {n,m} | Zwischen n und m | <code>a{2,4}</code> → <code>aa</code>, <code>aaa</code>, <code>aaaa</code> |
Gruppen, Lookarounds & Benannte Erfassungen
Weitere fortgeschrittene Funktionen, die von modernen JavaScript-Engines bereitgestellt werden.
| Funktion | Syntax | Beispiel |
|---|---|---|
| Erfassungsgruppen | (...) | <code>(\d{3})-(\d{2})</code> → Bereich + Suffix |
| Nicht-erfassende Gruppen | (?:...) | <code>(?:https?|ftp)://</code> |
| Rückverweise | \1, \2, ... | <code>(\w)\1</code> → <code>aa</code>, <code>bb</code> |
| Vorausschau | (?=...), (?!...) | <code>\w+(?=! )</code> → Wort vor <code>! </code> |
| Rückwärtssuche* | (?<=...), (?<!...) | <code>(?<=#)\w+</code> → Text nach <code>#</code> (*in modernen Engines) |
| Benannte Gruppen | (?<name>...) | <code>(?<year>\d{4})</code> → <code>groups.year</code> in Ergebnissen |
Flags (Optionen)
Die Flags des Testers entsprechen direkt den JavaScript RegExp-Flags.
| Flag | Name | Wirkung |
|---|---|---|
| g | Global | Findet alle Übereinstimmungen statt nur der ersten |
| i | Groß-/Kleinschreibung ignorieren | Groß-/Kleinschreibung-unabhängige Übereinstimmung |
| m | Mehrzeilig | <code>^</code> und <code>$</code> entsprechen Zeilengrenzen |
| s | DotAll | <code>.</code> entspricht auch Zeilenumbrüchen |
| u | Unicode | Aktiviert den Unicode-Modus und Eigenschafts-Escapes in modernen Engines |
| y | Sticky | Nur am aktuellen Index übereinstimmen (wird mit <code>lastIndex</code> verwendet) |
Leistung & Sicherheit
Die zugrunde liegende JavaScript-Engine führt Regex synchron aus. Um die Benutzeroberfläche reaktionsfähig zu halten, begrenzt der Tester die Anzahl der gesammelten Übereinstimmungen (z.B. die ersten 500 Treffer im globalen Modus). Dies hilft, die Benutzeroberfläche nicht zu überfluten, ersetzt jedoch keine vollständigen Leistungsaudits für komplexe oder kritische Muster.
Regex-Tools für die Befehlszeile
Sobald Ihr Muster hier funktioniert, können Sie dasselbe oder ähnliche Regex in Ihrem Terminal, Skripten oder CI-Jobs wiederverwenden:
Linux / macOS
Suche mit grep (erweiterte Regex)
grep -E 'pattern' file.txtZeilen finden, die einem bestimmten Muster entsprechen
Suchen & Ersetzen mit sed
sed -E 's/pattern/replacement/g' input.txt > output.txtStapelersetzungen in Textdateien
Windows / PowerShell
PowerShell-Regex-Suche
Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txtUS-amerikanische SSN-Muster in Protokolldateien finden (Beispiel)
PowerShell-Regex-Ersetzung
(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txtEinfache regex-basierte Ersetzungen
Praktische Regex-Anwendungen
Web- & Frontend-Entwicklung
- E-Mails, Benutzernamen, Slugs oder benutzerdefinierte IDs in Formularen validieren
- Routenparameter aus URLs oder Pfaden extrahieren
- Schnell Prototypen für clientseitige Validierung erstellen
// Basic email-like validation
/^[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}$/i.test(email);// Route params: /post/123
const match = pathname.match(/^\/post\/(\d+)/);Protokolle, Daten & Backend
- Zeitstempel und Level aus Protokollzeilen parsen
- Leerzeichen normalisieren und unordentlichen Text bereinigen
- IDs, E-Mails oder Referenzen aus unstrukturierten Inhalten extrahieren
// Collapse repeated whitespace
const normalized = text.replace(/\s+/g, ' ').trim();// Simple log line matcher
const m = line.match(/\[(?<date>\d{4}-\d{2}-\d{2})] (?<level>INFO|ERROR): (?<msg>.*)/);Datenbereinigung & Schnellskripte
- Unerwünschte HTML-Tags oder Attribute vor dem Parsen entfernen
- Alle URLs, E-Mails oder IDs aus einem langen Textblock ziehen
- Datenfeldbereiche für den Import in ein anderes System vorbereiten
❓ Frequently Asked Questions
❓Warum findet mein Regex nichts?
., ?, +), 2) Vergessen des g-Flags bei mehreren Treffern, 3) Fehlende Anker (^, $) oder Wortgrenzen (\b), 4) Verwendung von Funktionen, die Ihre JavaScript-Engine noch nicht unterstützt (wie einige Lookbehinds). Vereinfachen Sie das Muster und fügen Sie Teile schrittweise hinzu.⏱️Was bedeutet die Ausführungszeit (ms)?
performance.now() gemessen. Der Wert ist eine grobe Einzeldurchlaufmessung, wie lange der Regex für die aktuelle Eingabe benötigt hat. Es ist nützlich, um offensichtlich aufwändige Muster zu erkennen, aber kein vollständiger Benchmark oder eine Garantie für Produktionsleistung.🔍Was ist der Unterschied zwischen erstem Treffer und globalem Modus?
g-Flag gibt JavaScript nur den **ersten** Treffer zurück (falls vorhanden). Mit g verwendet der Tester input.matchAll(), um **alle** Treffer zu sammeln (begrenzt auf ein sicheres Maximum), einschließlich Indizes und Erfassungsgruppen. Verwenden Sie den globalen Modus, wenn Sie mehrere Vorkommen beachten möchten.🌍Unterstützt dies Unicode und <code>\p{...}</code>-Escapes?
u-Flag für den Unicode-Modus, der Dinge wie \p{Letter} oder \p{Script=Greek} in modernen Browsern und neueren Node.js-Versionen freischaltet.⚠️Kann dies katastrophales Backtracking erkennen?
Pro Tips
Bauen Sie Ihren Regex in kleinen Teilen auf. Beginnen Sie mit etwas Einfachem, das passt, und fügen Sie dann Schritt für Schritt Anker, Gruppen und Quantifizierer hinzu.
Verwenden Sie nach Möglichkeit benannte Erfassungsgruppen (<code>(?<name>...)</code>). Sie machen Ihre Treffer selbsterklärend und viel leichter lesbar während Code-Reviews.
Seien Sie vorsichtig mit <code>.*</code> und verschachtelten Quantifizierern. Sie können bei großen Eingaben starkes Backtracking verursachen. Machen Sie Muster spezifischer oder begrenzen Sie Wiederholungen mit <code>{n,m}</code>.
Entfernen Sie beim Debuggen vorübergehend das <code>g</code>-Flag und konzentrieren Sie sich auf den ersten Treffer, um das mentale Modell zu vereinfachen.
Additional Resources
Other Tools
- CSS-Verschönerer
- HTML-Verschönerer
- JavaScript-Verschönerer
- PHP-Verschönerer
- Farbauswahl
- Sprite-Extraktor
- Base64-Decoder
- Base64-Encoder
- Csharp-Formatierer
- CSV-Formatierer
- Dockerfile Formatter
- Elm-Formatierer
- ENV-Formatierer
- Go-Formatierer
- GraphQL-Formatierer
- HCL-Formatierer
- INI-Formatierer
- JSON-Formatierer
- LaTeX-Formatierer
- Markdown-Formatierer
- Objective-C-Formatierer
- Php Formatter
- Proto-Formatierer
- Python-Formatierer
- Ruby-Formatierer
- Rust-Formatierer
- Scala-Formatierer
- Shell-Skript-Formatierer
- SQL-Formatierer
- SVG-Formatierer
- Swift-Formatierer
- TOML-Formatierer
- Typescript Formatter
- XML-Formatierer
- YAML-Formatierer
- Yarn-Formatierer
- CSS-Minifizierer
- Html Minifier
- Javascript Minifier
- JSON-Minifizierer
- XML-Minifizierer
- HTTP-Header-Betrachter
- PDF zu Text
- SERP-Rang-Prüfer
- Whois-Abfrage