Treffer

Das Muster [\w.+-]+@[\w-]+(?:\.[\w-]+)*\.[A-Za-z]{2,} trifft name@example.com und support+billing@mail.example.co.uk, aber nicht john@ oder jane@localhost, weil ein Punkt und eine Endung aus 2 Buchstaben nötig sind. Es fängt Tippfehler ab; ob es die Adresse gibt, zeigt nur eine Bestätigungs-Mail.

Anleitung

  1. Muster zwischen die Schrägstriche schreiben oder ein komplettes /Muster/Flags-Literal einfügen. Ein häufiges Muster wie E-Mail oder IPv4 antippen, um mit einem erprobten zu starten.
  2. Flags umschalten: g findet alle Treffer, i ignoriert Groß-/Kleinschreibung, m lässt ^ und $ pro Zeile gelten, s lässt den Punkt auch Zeilenumbrüche treffen.
  3. Testtext eingeben oder einfügen. Treffer werden beim Tippen markiert und darunter mit Position und Gruppen aufgelistet.
  4. Zu „Ersetzen“ wechseln und eine Ersetzung mit $1, $<name> oder $& eingeben – das Ergebnis erscheint beim Tippen. Treffer, Gruppen und Ergebnis lassen sich antippen und kopieren.
  • Verwendet wird die JavaScript-Regex-Engine (ECMAScript) deines Browsers – dieselbe wie in Node.js, Chrome und Deno. Lookbehind, benannte Gruppen und Unicode-Klassen \p{…} werden unterstützt.
  • Die Suche läuft im Hintergrund und bricht nach 1 Sekunde ab. Ein Muster mit katastrophalem Backtracking zeigt daher einen Fehler, statt die Seite einzufrieren.
  • In der Ersetzung fügen \n und \t einen Zeilenumbruch bzw. Tab ein. $$ fügt ein Dollarzeichen ein.
  • Mit dem Flag d siehst du Start- und Endposition jeder Gruppe.
  • Geteilte Links enthalten Muster und Flags, nie deinen Testtext.

Flags, die das Ergebnis ändern

g findet alle Treffer statt nur des ersten, i ignoriert Groß- und Kleinschreibung, m lässt ^ und $ an jedem Zeilenumbruch greifen, s lässt den Punkt auch Zeilenumbrüche treffen, u aktiviert volles Unicode und \p{…}-Klassen, y sucht nur an lastIndex und d liefert Start- und Endindex jeder Gruppe. Ein vergessenes g ist der häufigste Grund, warum ein Muster scheinbar nur einen Treffer findet.

Ein Muster lesen

\d steht für eine Ziffer, \w für Buchstabe, Ziffer oder Unterstrich, \s für Leerraum und \b für eine Wortgrenze. Quantoren wiederholen das Element davor: * heißt 0 oder mehr, + 1 oder mehr, ? 0 oder 1 und {2,4} 2 bis 4 Mal. Ein ? nach dem Quantor macht ihn genügsam, <.+?> stoppt also am ersten >. Klammern bilden eine Gruppe; (?<jahr>\d{4}) benennt sie, (?:…) gruppiert ohne zu speichern.

Lookaheads (?=…) und (?!…) sowie Lookbehinds (?<=…) und (?<!…) prüfen, was folgt oder vorausgeht, ohne es zu verbrauchen. So findet \d+(?= USD) die 120 in 120 USD, aber nicht in 120 EUR.

Langsame Muster vermeiden

Verschachtelte Quantoren wie (a+)+ oder (.*)* können bei fast passendem Text exponentiell zurückspringen und einen Server lahmlegen; das nennt man ReDoS. Hier läuft die Suche in einem Hintergrund-Worker mit einer Sekunde Zeitlimit, du siehst also eine Fehlermeldung statt eines eingefrorenen Tabs. Besser konkrete Klassen wie [^,]* statt .* nutzen und beim Validieren ganzer Werte mit ^ und $ verankern.

Häufige Fragen

Welche Regex-Variante nutzt dieser Tester?

JavaScript (ECMAScript), die eingebaute Engine deines Browsers, identisch mit Node.js, Deno und TypeScript. Die meiste Syntax teilt sie mit PCRE, Python und Java; possessive Quantoren oder atomare Gruppen verhalten sich aber anders.

Warum findet meine Regex nur einen Treffer?

Das Flag g (global) ist aus. Ohne g hört JavaScript nach dem ersten Treffer auf. Schalte g ein, um alle Treffer zu markieren und aufzulisten.

Wie nutze ich Gruppen beim Ersetzen?

$1, $2 usw. für nummerierte Gruppen, $<name> für benannte Gruppen und $& für den ganzen Treffer. $$ fügt ein echtes Dollarzeichen ein.

Wie finde ich einen echten Punkt oder eine Klammer?

Mit einem Backslash maskieren: \. findet einen Punkt, \( eine runde und \[ eine eckige Klammer. In einer Zeichenklasse sind die meisten Symbole wörtlich gemeint, [.] findet also ebenfalls einen Punkt.

Kann eine Regex E-Mail-Adressen perfekt prüfen?

Nein. Die vollständigen Regeln aus RFC 5321 und 5322 sind für ein praktikables Muster zu weit und zu komplex. Eine einfache Regex fängt Tippfehler ab; ob die Adresse existiert, zeigt erst eine Bestätigungs-Mail.

Wird mein Testtext irgendwohin gesendet?

Nein. Die Suche läuft im Browser. Geteilte Links enthalten nur Muster und Flags, nie den getesteten Text.

Oft zusammen genutzt

Anleitung

Schritte

  1. Muster zwischen die Schrägstriche schreiben oder ein komplettes /Muster/Flags-Literal einfügen. Ein häufiges Muster wie E-Mail oder IPv4 antippen, um mit einem erprobten zu starten.
  2. Flags umschalten: g findet alle Treffer, i ignoriert Groß-/Kleinschreibung, m lässt ^ und $ pro Zeile gelten, s lässt den Punkt auch Zeilenumbrüche treffen.
  3. Testtext eingeben oder einfügen. Treffer werden beim Tippen markiert und darunter mit Position und Gruppen aufgelistet.
  4. Zu „Ersetzen“ wechseln und eine Ersetzung mit $1, $<name> oder $& eingeben – das Ergebnis erscheint beim Tippen. Treffer, Gruppen und Ergebnis lassen sich antippen und kopieren.

Tastenkürzel

EnterVom Muster zum Testtext springenStrg + EnterAlle Treffer oder das Ersetzungsergebnis kopieren

Gut zu wissen

Läuft in deinem Browser. Dateien und Texte verlassen nie dein Gerät.