Regex-Tester online — reguläre Ausdrücke in JavaScript testen
JavaScript-Regex-Tester mit Flags, Treffermarkierung, Gruppentabelle und Ersetzungsvorschau
Verarbeitung im Browser · kein Hochladen
Was das Tool ist
Bei regulären Ausdrücken schleichen sich leicht kleine Fehler ein. Geben Sie ein Muster und einen Text ein, und das Tool zeigt sofort, wo es trifft, markiert jeden Treffer farbig und listet alle Treffer mit Position und Gruppen auf. Mit einem Ersetzungsstring sehen Sie zusätzlich eine Vorschau des ersetzten Textes.
Anleitung
- Geben Sie das Muster ohne umschließende Schrägstriche ein (ein aus Code eingefügtes
/pattern/giwird in Muster und Flags aufgeteilt), zum Beispiel(\d+)-(?<word>[a-z]+). - Setzen Sie die benötigten Flags.
g, das alle Treffer findet, ist standardmäßig aktiv. - Fügen Sie den Testtext ein. Treffer werden hervorgehoben, und die Tabelle listet Position und Gruppen jedes Treffers.
- Verwenden Sie im Ersetzungsfeld
$1,$<name>oder$&, um das Ergebnis zu sehen, und kopieren Sie es. Um alle Treffer zu löschen, aktivieren Sie Ersetzung anzeigen und lassen das Feld leer.
So funktioniert es
- Flags:
gglobal,iignoriert Groß-/Kleinschreibung,mlässt^und$pro Zeile gelten,slässt.auch Zeilenumbrüche treffen,uaktiviert den Unicode-Modus,ytrifft nur an der aktuellen Position (sticky). - Ohne
gwird nur der erste Treffer geliefert. Mitgundyzusammen werden nur Treffer gefunden, die lückenlos aufeinander folgen. - Leere Treffer (
a*,^, das leere Muster) rücken die Position um ein Zeichen vor, und die Suche geht weiter; mituist der Schritt ein ganzer Codepunkt. - Die Ersetzungssyntax ist die von
String.prototype.replace:$$,$&,$`,$',$1bis$99und$<name>. - Schutzmechanismen: höchstens 1.000 Treffer, 200.000 Zeichen Text und 5.000 Zeichen Muster sowie eine Laufzeitgrenze von 1,5 Sekunden. Die Grenze funktioniert, indem die Suche in einem Web Worker läuft und dieser beendet wird. Deshalb friert die Hauptseite nie ein.
Beispiele
| Muster | Flags | Text | Ergebnis |
|---|---|---|---|
\d+ |
g | a1 b22 c333 |
1, 22, 333 |
[A-Za-zÄÖÜäöüß]+ |
g | 3 Äpfel, 12 Birnen |
Äpfel, Birnen |
a* |
g | baac |
vier Treffer, an den Positionen 0, 1 (aa), 3 und 4 |
(?<y>\d{4})-(\d{2}) |
2024-05 |
Gruppe 1 y = 2024, Gruppe 2 = 05 |
Hinweise
\wumfasst in JavaScript nur[A-Za-z0-9_], Umlaute und ß fallen also heraus. Verwenden Sie eine Zeichenklasse wie oben oder\p{L}mit dem Flagu. Emojis lassen sich mit dem Flaguund\p{Emoji_Presentation}treffen.- Ihr Muster und Ihr Text werden nie an einen Server gesendet.
Häufige Fragen
Welche Regex-Variante wird verwendet?
Die JavaScript-Regex-Engine (ECMAScript) Ihres Browsers. Die Syntax weicht daher stellenweise von Python, PCRE oder Java ab. Possessive Quantifizierer und Inline-Flags wie (?i) gibt es nicht, und benannte Gruppen schreibt man (?<name>...).
Was passiert, wenn ein Muster zu lange läuft?
Die Suche läuft in einem separaten Web Worker, der nach 1,5 Sekunden beendet wird. Verschachtelte Wiederholungen wie (a+)+$ können bei etwas längerer Eingabe exponentiell langsam werden (katastrophales Backtracking). In diesem Fall erscheint eine Meldung, und die Seite bleibt bedienbar.
Gibt es Grenzen für Trefferzahl oder Textlänge?
Angezeigt werden die ersten 1.000 Treffer, der Text darf bis zu 200.000 Zeichen und das Muster bis zu 5.000 Zeichen lang sein. Darüber hinaus wird die Liste gekürzt oder stattdessen eine Meldung angezeigt.
Kann ein Muster, das den leeren String trifft, endlos laufen?
Nein. Nach einem leeren Treffer wird die Suchposition (lastIndex) um ein Zeichen weitergesetzt, sodass die Schleife immer endet. Mit dem Flag u springt sie über einen ganzen Codepunkt, ein Emoji wird also nie zerteilt.