Reguläre Ausdrücke testen: Regex-Tester mit Ersetzen
Testen Sie eine JavaScript-Regex an Ihrem Text: hervorgehobene Treffer, Positionen, Erfassungsgruppen, Ersetzen mit $1 und $2, Erklärung der Symbole und fertige Muster.
Regex verstehen: Erfassungsgruppen, $1 und Ersetzung
Jedes Klammerpaar in einem regulären Ausdruck erfasst einen Teil des Treffers, von links nach rechts nummeriert ($1, $2…), den die Ersetzung wiederverwenden kann. Das Tool hebt die Treffer im Text hervor, schlüsselt die erfassten Gruppen jedes Treffers auf, benennt die im Muster enthaltenen Syntaxelemente und liefert den passenden JavaScript-Code.
Erfassungsgruppen in der Praxis
Das Standardmuster ([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,}) enthält zwei Gruppen: $1 erfasst den Teil vor dem At-Zeichen, $2 die Domain. Im Beispieltext findet das Tool mit den Flags gi 3 Adressen; bei support@kristools.com ist $1 support und $2 kristools.com. Die Ersetzung [$1 at $2] ergibt [support at kristools.com]. Eine Gruppe, die mit (?: beginnt, gruppiert ohne zu erfassen und erhält keine Nummer.
Beispiel: ISO-Datumsangaben umstellen
Das Muster für ISO-Datumsangaben erfasst Jahr, Monat und Tag in drei Gruppen. Im Beispielsatz übernimmt es 2026-08-25 und 2026-12-31 und überspringt 2026-13-40, einen unmöglichen Monat. Mit der Ersetzung $3/$2/$1 entstehen 25/08/2026 und 31/12/2026; für das deutsche Format schreiben Sie $3.$2.$1.
Was das Tool anzeigt
- Die Treffer, im Text hervorgehoben, mit Start- und Endposition.
- Für jeden Treffer die Liste der erfassten Gruppen $1, $2…
- Eine Analyse, die die im Muster gefundenen Elemente benennt: ^, $, \d, \w, \s, \b, die Quantoren +, * und ?, Gruppen und Zeichenklassen in eckigen Klammern.
- Die Schaltfläche „JS Code“, die
const regex = /muster/flags;und einen Aufruf vontext.match(regex)kopiert.
Die acht Vorlagen (E-Mail, URL, französische Telefonnummer, ISO-Datum, IPv4 auf 0-255 begrenzt, Hex-Farbe, UUID v4, HTML-Tag) laden zusätzlich einen passenden Testtext.
Grenzen
- Die Analyse erkennt Zeichen, nicht die Struktur: Ein + innerhalb einer Klasse wie
[+-]wird trotzdem als Quantor beschrieben. Geschweifte Klammern{n,m}, die Alternative|, der Punkt sowie Lookahead- und Lookbehind-Assertions werden nicht erklärt. - Ein nicht maskierter Schrägstrich im Muster macht den kopierten JavaScript-Code ungültig; schreiben Sie
\/. - Mit Flag g endet die Liste bei 1.000 Treffern.
Um E-Mails, UUIDs oder Tags in einem Text zu maskieren, laden Sie die passende Vorlage, geben den Ersatztext ein und kopieren das Ergebnis mit der Schaltfläche über der resultierenden Zeichenkette.
Häufig gestellte Fragen
Wie verwende ich $1 und $2 in einer Regex-Ersetzung?
$1 fügt den Text der ersten Klammergruppe ein, $2 den der zweiten, gezählt nach öffnenden Klammern von links nach rechts. Mit dem Standardmuster und der Ersetzung [$1 at $2] wird aus support@kristools.com [support at kristools.com].
Was ist der Unterschied zwischen (...) und (?:...)?
(...) erfasst Text und vergibt eine wiederverwendbare Nummer ($1, $2…). (?:...) gruppiert nur, etwa um einen Quantor auf mehrere Zeichen anzuwenden, ohne eine nummerierte Gruppe anzulegen. Wer eine unnötige Gruppe in (?:...) umwandelt, verschiebt die Nummerierung der folgenden Gruppen nicht.
Wie wandle ich ein Datum JJJJ-MM-TT per Regex in TT.MM.JJJJ um?
Erfassen Sie die drei Teile mit \b(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])\b und ersetzen Sie durch $3.$2.$1. Aus 2026-08-25 wird 25.08.2026, 2026-13-40 wird übersprungen, weil es keinen Monat 13 gibt. Tag 31 wird allerdings für jeden Monat akzeptiert, 2026-02-31 geht also durch.
Funktioniert der kopierte JavaScript-Code direkt?
Bei den meisten Mustern ja: Das Tool kopiert const regex = /muster/flags; und danach text.match(regex). Enthält das Muster einen nicht maskierten Schrägstrich, wird das Literal ungültig; schreiben Sie dann \/ statt /. Mit Flag g liefert match die Trefferliste ohne Gruppen; dafür gibt es matchAll.
Warum findet mein regulärer Ausdruck nur einen Treffer?
Vermutlich ist das Flag g (global) deaktiviert. Ohne g bricht JavaScript beim ersten Treffer ab, beim Suchen wie beim Ersetzen. Aktivieren Sie g, um alle Vorkommen zu erhalten.
Welche Regex erkennt eine französische Telefonnummer?
Das mitgelieferte Muster lautet (?:(?:\+|00)33|0)\s*[1-9](?:[\s.-]*\d{2}){4}. Es erkennt 06 12 34 56 78 ebenso wie +33 1.23.45.67.89: Vorwahl +33, 0033 oder 0, eine Ziffer von 1 bis 9, dann vier Ziffernpaare, wahlweise getrennt durch Leerzeichen, Punkte oder Bindestriche.
Wie maskiere ich alle E-Mail-Adressen in einem Text per Regex?
Laden Sie das E-Mail-Muster, lassen Sie das Flag g aktiv und geben Sie [E-MAIL VERBORGEN] als Ersetzung ein. Im geladenen Beispieltext werden die 2 vollständigen Adressen ersetzt, invalid@email ohne Domain-Endung bleibt stehen. Die Kopierschaltfläche übernimmt den fertigen Text.
Prüft das IPv4-Muster, ob eine IP-Adresse gültig ist?
Ja, was den Bereich jedes Oktetts angeht: Das Muster wiederholt viermal die Alternative 25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]? und begrenzt so jede Zahl auf 0 bis 255. 192.168.1.50 passt, 999.300.1.1 nicht. Ob die Adresse privat oder öffentlich ist, sagt es dagegen nicht.
Ist das Tool wirklich kostenlos?
Ja, alle Werkzeuge auf Kristools sind zu 100% kostenlos und ohne Registrierung zugänglich.
Sind meine Daten geschützt?
Ja. Die gesamte Verarbeitung erfolgt sicher und direkt in Ihrem Browser. Es werden keine persönlichen Daten an unsere Server gesendet.