Regex-Muster verständlich erklären
Sehen Sie, was jedes Stück eines regulären Ausdrucks tut: Der Beispielausdruck für E-Mail-Adressen zerfällt in 16 erklärte Teile mit 3 Erfassungsgruppen, die erste namens user, jeweils mit Position und klarer Beschreibung. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Flags
- i
- Geschmack
- ECMAScript
- Erfassungsgruppen
- 3
Ein regulärer Ausdruck kann in eine einzige Zeile passen und dennoch zahlreiche unabhängige Regeln verbergen. Dieses Werkzeug validiert ein ECMAScript-Muster, liest es von links nach rechts und kennzeichnet Gruppen, Quantifizierer, Zeichenklassen, Anker, Escape-Sequenzen, Alternativen, Platzhalter und literalen Text. Jeder Baustein enthält seine Position, Verschachtelungstiefe und eine verständliche Erklärung. So können Sie das Muster prüfen, erlernen, dokumentieren und untersuchen, ohne es zu verändern oder auf private Daten anzuwenden.
Lesen Sie die Erklärung in Musterreihenfolge
Beginnen Sie mit dem Komponenten-Array, das exakt der Reihenfolge des Quellmusters von links nach rechts folgt. Jeder Eintrag nennt einen Typ, bewahrt das ursprüngliche Token und gibt einen nullbasierten Index sowie die Tokenlänge an. Damit lässt sich eine Erklärung den genauen Zeichen eines langen Ausdrucks zuordnen, ohne raten zu müssen, welche Klammer oder welches Fragezeichen gemeint ist.
Der Tiefenwert zeigt die Position eines Tokens innerhalb verschachtelter Gruppen. Einträge für Gruppenanfang und Gruppenende machen die Struktur sichtbar; erfassende Gruppen erhalten ihre Nummer in der Reihenfolge ihrer öffnenden Klammern. Benannte Erfassungen behalten zusätzlich ihren Namen.
Zusammenhängender literaler Text bleibt nach Möglichkeit vereint und dadurch gut lesbar. Lesen Sie zunächst alle Einträge nacheinander und nutzen Sie anschließend die Zählwerte, um auffällige Konstruktionen wie tiefe Verschachtelungen oder viele Alternativen gezielt zu untersuchen.
Verstehen Sie Gruppen, Klassen und Wiederholungen
Gruppen strukturieren den Ausdruck und können Text für eine spätere Verwendung erfassen. Eine einfache Klammer beginnt eine nummerierte Erfassung, Fragezeichen und Doppelpunkt eröffnen eine nicht erfassende Gruppe, und benannte Erfassungen zeigen den deklarierten Namen. Vorwärts- und Rückwärtsprüfungen werden unterschieden, weil sie umgebenden Text testen, ohne ihn zu verbrauchen.
Zeichenklassen werden als Übereinstimmung mit genau einem aufgeführten Zeichen erklärt; negierte Klassen werden hervorgehoben und einfache Bereiche wie A bis Z zusammengefasst. Escape-Sequenzen erhalten Beschreibungen für Ziffern, Wortzeichen, Leerraum, Grenzen, Rückverweise, Unicode-Eigenschaften und codierte Zeichen. Quantifizierer beziehen sich auf das unmittelbar vorherige Element: Ein Stern bedeutet null oder mehr Wiederholungen, ein Plus eine oder mehr, ein Fragezeichen macht das Element optional und geschweifte Klammern legen eine genaue, minimale oder begrenzte Anzahl fest.
Ein abschließendes Fragezeichen macht die Wiederholung genügsam; die Erklärung weist deshalb ausdrücklich auf die bevorzugte geringere Anzahl hin.
Validieren Sie Syntax und erkennen Sie den Dialekt
Das Muster wird vor jeder Erklärung mit der ECMAScript-Engine für reguläre Ausdrücke validiert. Das ist wichtig, weil sich Dialekte unterscheiden: Syntax aus PCRE, Python, Java oder . NET kann in JavaScript etwas anderes bedeuten oder vollständig abgelehnt werden.
Übergeben Sie nur den Ausdruckskörper ohne umschließende Schrägstriche und tragen Sie optionale JavaScript-Flags in das Feld flags ein. Die Validierung bestätigt lediglich, dass der Ausdruck kompiliert werden kann. Sie beweist nicht, dass er die beabsichtigten Geschäftsdaten trifft, für jede Eingabe effizient ist oder übermäßiges Backtracking vermeidet.
Prüfen Sie mit der Erklärung zuerst die Struktur und testen Sie danach repräsentative positive und negative Beispiele. Da der Algorithmus deterministisch arbeitet, kein Netzwerk verwendet und keinen Zieltext untersucht, erzeugen dasselbe Muster und dieselben Flags stets dieselbe strukturierte Erklärung.
Anwendungsfälle
Übernommene Ausdrücke prüfen
Wandeln Sie ein dichtes Muster aus älterem Code vor einer Änderung in eine geordnete Liste verständlicher Konstruktionen um.
Validierungsregeln dokumentieren
Erzeugen Sie strukturierte Hinweise zu Gruppen, erlaubten Zeichen, Ankern und Wiederholungen eines Formulars oder Dienstes.
Regex-Syntax erlernen
Vergleichen Sie beim Studium von ECMAScript-Mustern ursprüngliche Tokens mit kurzen Erklärungen und Quellpositionen.
Häufige Fragen
Welcher Regex-Dialekt wird erklärt?
Das Werkzeug validiert und erklärt reguläre ECMAScript-Ausdrücke, also die RegExp-Syntax von JavaScript.
Testet das Werkzeug das Muster mit meinem Text?
Nein. Es erklärt nur die Syntax und benötigt keinen Zieltext. Prüfen Sie Übereinstimmungen separat mit einem Regex-Tester.
Erkennt es benannte und nummerierte Erfassungsgruppen?
Ja. Erfassungen werden nach Öffnungsreihenfolge nummeriert; benannte Gruppen enthalten zusätzlich ihren deklarierten Namen.
Muss ich die Schrägstriche um den Ausdruck mit angeben?
Nein. Geben Sie nur den Rumpf des Ausdrucks ohne Schrägstriche ein und die Optionen getrennt, etwa i für Groß- und Kleinschreibung egal. Ungültige oder doppelte Optionen werden mit einer klaren Meldung abgelehnt.
Was bedeutet ein Fragezeichen nach einer Wiederholung?
Es macht die Wiederholung genügsam, sie bevorzugt also möglichst wenige Wiederholungen, und die Erklärung sagt das ausdrücklich. Allein direkt nach einem Element macht das Fragezeichen dieses Element einfach optional.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev2/regex-explain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pattern":"^(?<user>[A-Za-z0-9._%+-]+)@([A-Za-z0-9.-]+)\\.([A-Za-z]{2,})$"}'const res = await fetch("https://api.kit.forhosting.com/dev2/regex-explain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pattern": "^(?<user>[A-Za-z0-9._%+-]+)@([A-Za-z0-9.-]+)\\.([A-Za-z]{2,})$"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev2/regex-explain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pattern": "^(?<user>[A-Za-z0-9._%+-]+)@([A-Za-z0-9.-]+)\\.([A-Za-z]{2,})$"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev2/regex-explain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pattern":"^(?<user>[A-Za-z0-9._%+-]+)@([A-Za-z0-9.-]+)\\\\.([A-Za-z]{2,})$"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pattern":"^(?<user>[A-Za-z0-9._%+-]+)@([A-Za-z0-9.-]+)\\.([A-Za-z]{2,})$"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev2/regex-explain", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"pattern": "^(?<user>[A-Za-z0-9._%+-]+)@([A-Za-z0-9.-]+)\\.([A-Za-z]{2,})$"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev2.regex_explain",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_pattern_chars | 2000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Lesen Sie die Erklärung in Musterreihenfolge
Die Zusammenfassung liefert einen schnellen Überblick, während component_counts für automatisch erzeugte Dokumentation oder Prüfberichte geeignet ist.
Validieren Sie Syntax und erkennen Sie den Dialekt
Ungültige Syntax, nicht unterstützte Flags und doppelte Flags führen zu einem typisierten Fehler invalid_input und niemals zu einer unvollständigen oder irreführenden Erklärung.
Technische Fragen
Soll ich umschließende Schrägstriche angeben?
Nein. Senden Sie nur den Ausdruck in pattern und tragen Sie Flags wie i oder m in das separate Feld flags ein.
Was geschieht bei einem ungültigen Ausdruck?
Die Anfrage liefert einen invalid_input-Fehler mit dem Kompilierungsproblem und keine unvollständige Erklärung.
Was kostet eine API-Anfrage?
Der API-Grundpreis beträgt $0.002 pro Anfrage. Dieselbe deterministische Logik läuft auch im Browser.