Text

Regex Tester / Find & Replace

Testen regulärer Ausdrücke an echtem Text: hervorgehobene Treffer und analysierte Erfassungsgruppen, oder Ersetzen gefundener Treffer durch neuen Text.


                        

                        

A regular expression (regex) is a compact language for describing patterns in text — for searching, validating a format, or replacing matches. This tool highlights matches in real text as you type the pattern, breaks out capture groups, and supports a find-and-replace mode.

How to use it

Common uses

Things to keep in mind

Greedy quantifiers (*, +) grab as many characters as possible — add ? for the minimal match instead (e.g. .*? instead of .*).

Syntax varies slightly between languages — an expression that works here (a JavaScript engine) may need adjusting for PCRE, .NET, or Python.

Artikel zu diesem Tool: Reguläre Ausdrücke: Grundsyntax und typische Muster

Häufig gestellte Fragen

Welche Regex-Engine wird verwendet?

Das Tool verwendet die Regex-Engine von JavaScript, nicht PCRE, daher funktioniert manche PCRE-spezifische Syntax (wie rekursive Assertionen oder bestimmte possessive Übereinstimmungsmodi) hier nicht; gängige Flags wie g, i, m, s und u werden unterstützt.

Was ist der Unterschied zwischen gierigen und trägen Quantoren, und zwischen Test und Ersetzen?

Ein gieriger Quantor wie * oder + erfasst so viel Text wie möglich, während seine träge Version (*?, +?) so früh wie möglich stoppt; bei den Modi hebt Test Übereinstimmungen hervor und listet Erfassungsgruppen auf (einschließlich benannter), und Ersetzen wendet Ersatztext mit Referenzen wie $1 auf jede Übereinstimmung an.

Werden mein Text und mein Ausdruck an einen Server gesendet?

Nein, die Auswertung des regulären Ausdrucks erfolgt vollständig clientseitig in Ihrem Browser, nichts wird online übertragen.

Was ist katastrophales Backtracking?

Verschachtelte Quantifizierer wie (a+)+ können die Engine bei bestimmten Eingaben dazu zwingen, eine exponentielle Anzahl von Kombinationen durchzuprobieren — die Seite oder das Skript „hängt" bei einem scheinbar einfachen Ausdruck. Das ist eine reale Schwachstellenklasse (ReDoS), daher sollten komplexe verschachtelte Quantifizierer an langen, fast passenden Zeichenketten getestet werden.

Warum funktioniert mein Ausdruck in einer Programmiersprache, aber nicht in einer anderen?

Die Regex-Syntax ist nicht vollständig standardisiert: PCRE (PHP und viele andere Sprachen), .NET, Python re und JavaScript weisen kleine Unterschiede bei der Unterstützung bestimmter Konstrukte auf (etwa Look-behind oder benannte Gruppen) — ein für eine Engine geschriebener Ausdruck funktioniert nicht immer unverändert in einer anderen.

Artikel: Text

Case Converter: warum es unterschiedliche Namensstile gibt

Warum in einem Projekt Variablen in camelCase, Dateien aber in kebab-case geschrieben werden, und woher diese Regeln stammen.

Text Diff: wie Algorithmen den Unterschied zwischen zwei Texten finden

Wie ein Diff-Algorithmus die minimale Menge an Änderungen zwischen zwei Textversionen findet.

Zeilen sortieren und Duplikate entfernen: wozu das gut ist

Warum eine numerische Sortierung, die „10" vor „9" setzt, ein Fehler ist, und wie man das vermeidet.

String Escape: warum derselbe Text unterschiedlich escaped werden muss

Warum dasselbe Anführungszeichen in einem JS-String, in JSON und in einem Shell-Befehl unterschiedlich escaped wird.

CRLF gegen LF: warum Zeilenendezeichen immer noch wichtig sind

Warum eine unter Windows geschriebene Datei in Git unter Linux als „komplett geändert" angezeigt werden kann.

Zeichen und Wörter zählen: warum das nicht immer trivial ist

Warum ein Emoji oder ein Zeichen mit Akzent als mehrere Zeichen auf einmal zählen kann.

Lorem Ipsum: woher der Platzhaltertext stammt und wozu er dient

Warum Designer absichtlich „bedeutungslosen" Text statt echtem Inhalt in Entwürfen verwenden.

Slugify: beliebigen Text in eine URL verwandeln

Wie ein Titel wie „Hallo, Welt!" zu einer URL-tauglichen Zeichenkette wie hallo-welt wird.

Markdown: warum einfache Textsyntax komplexe Editoren geschlagen hat

Warum Entwickler Dokumentation lieber in Markdown als in einem Rich-Text-Editor schreiben.

Leerzeichen und unsichtbare Zeichen: die versteckte Ursache seltsamer Bugs

Warum zwei scheinbar identische Strings wegen eines unsichtbaren Zeichens nicht übereinstimmen können.

Text Reverse: warum „Text umkehren" schwieriger ist, als es klingt

Warum eine naive String-Umkehrung ein Emoji in unbrauchbare Bytes verwandeln kann.

Text-Häufigkeitsanalyse: warum man zählt, wie oft sich Wörter wiederholen

Wie die Buchstabenhäufigkeit in einem Geheimtext hilft, die einfachsten Substitutionschiffren zu knacken.