Der beste kostenlose Regex-Tester ist derjenige, der Ihnen zeigt, ob Ihr Muster in der Engine funktioniert, die Sie tatsächlich ausliefern, nicht nur in der, die die Website verwendet. Die meisten beliebten Tester gehen stillschweigend von einer einzigen Variante aus (meist PCRE oder JavaScript), sodass ein Muster, das im Browser grün leuchtet, einen Fehler auslösen kann, sobald es in Python, Go oder Java in der Produktion landet. Dieser Leitfaden vergleicht die stärksten kostenlosen Optionen anhand des Merkmals, das für echte Teams am wichtigsten ist: plattformübergreifende Portabilität, zusammen mit Live-Hervorhebung, Erfassungsgruppen-Inspektion und Ersetzungsmodus.
Wenn Sie jemals einen Lookbehind geschrieben haben, der im Tester funktionierte und dann Ihren Go-Dienst zum Absturz brachte, kennen Sie das Problem bereits. Regex ist nicht eine Sprache. Es ist eine Familie von Dialekten, die sich bei Lookbehind, benannten Gruppen, Unicode und sogar dem Verhalten von \d unterscheiden. Ein Tester, der diese Unterschiede verbirgt, spart Ihnen keine Zeit, sondern bereitet einen Fehler vor.
Was den besten kostenlosen Regex-Tester ausmacht#
Vor dem Vergleich hier die Kurzantwort. Ein großartiger kostenloser Regex-Tester erledigt vier Dinge gut: Er hebt Übereinstimmungen live während der Eingabe hervor, er zeigt Capture-Gruppen aufgeschlüsselt an, damit Sie sehen, was jede erfasst hat, er hat einen echten Ersetzungs-/Substitutionsmodus, und er warnt Sie, wenn Ihr Muster auf Syntax angewiesen ist, die nur in einer Engine funktioniert. Tools, die die ersten drei Punkte beherrschen, aber den vierten ignorieren, sind die Quelle der meisten Produktions-Regex-Fehler.
Lassen Sie mich jeden Punkt erläutern, denn der Unterschied zwischen einem Spielzeug-Tester und einem Tool, dem Sie vertrauen, liegt in diesen Details.
Live-Markierung von Übereinstimmungen#
Die Grundvoraussetzung. Während Sie ein Muster eingeben, sollten Übereinstimmungen in Ihrem Teststring sofort hervorgehoben werden, wobei überlappende oder Nulllängen-Übereinstimmungen sinnvoll behandelt werden. Ohne Live-Markierung arbeiten Sie blind, tippen neu und führen erneut aus. Jeder Tester in diesem Vergleich macht das, also ist es eine Grundvoraussetzung und kein Unterscheidungsmerkmal.
Inspektion von Capture-Gruppen#
Ein Muster wie (\d{4})-(\d{2})-(\d{2}) hat drei Gruppen, und Sie müssen genau sehen, was jede pro Übereinstimmung erfasst hat. Die besten Tools zeigen eine Aufschlüsselung pro Übereinstimmung, einschließlich benannter Gruppen ((?<year>\d{4})) und des Index jeder Gruppe. Das macht aus einem Tester einen Debugger.
Tipp: Wenn Ihr Tester nur "Übereinstimmung gefunden" anzeigt, ohne Gruppe 1, Gruppe 2 usw. aufzulisten, können Sie keine echte Extraktion überprüfen. Behandeln Sie die Gruppeninspektion als obligatorisch, nicht optional.
Ersetzungsmodus#
Die Hälfte der praktischen Regex-Arbeit ist Substitution, nicht nur Matching. Ein ordentlicher Ersetzungsmodus ermöglicht es Ihnen, einen Ersetzungsstring mit Rückverweisen ($1, \1 oder ${name} je nach Dialekt) zu schreiben und die umgeschriebene Ausgabe live in der Vorschau zu sehen. Das Matching ohne die Ersetzung zu testen, ist nur die halbe Arbeit.
Multi-Dialekt-Bewusstsein#
Dies ist das Unterscheidungsmerkmal und der Kern der SERP-Lücke. Regex-Syntax ist standardmäßig nicht portabel. Ein Tester, der Ihr Muster durch eine einzige Engine laufen lässt, gibt Ihnen falsche Sicherheit. Der beste kostenlose Regex-Tester ermöglicht es Ihnen entweder, Dialekte explizit zu wechseln, oder kennzeichnet Syntax, die den Sprung von JavaScript zu Python zu Go nicht überlebt.
Das Cross-Flavor-Problem, das niemand benchmarkt#
Hier ist die Sache, die die meisten „Besten Regex-Tester“-Vergleiche völlig auslassen. Sie bewerten Tools nach Beliebtheit und Screenshot-Qualität, aber sie testen nie, ob das Tool erkennt, dass Ihr Pattern nicht portabel ist. Das ist der Fehler, der Teams tatsächlich Stunden kostet.
Verschiedene Regex-Engines sind sich bei echten Funktionen uneinig. Einige Beispiele, die Entwickler ständig beißen:
- Lookbehind: JavaScript (modernes V8) und PCRE/Python unterstützen Lookbehind mit variabler oder fester Länge, aber Go's RE2-Engine unterstützt Lookbehind überhaupt nicht. Ein Pattern mit
(?<=USD )läuft in Ihrem Browser-Tester einwandfrei und lässt sich in Go nicht kompilieren. - Rückverweise im Pattern: RE2 (Go und einige andere Linearzeit-Engines) unterstützt keine Rückverweise wie
(\w)\1. PCRE und JavaScript schon. - Syntax benannter Gruppen: Python verwendete historisch
(?P<name>...), während JavaScript und modernes PCRE(?<name>...)verwenden. Kopieren Sie ein Python-Pattern in einen JS-Tester, und die benannte Gruppe bricht still. - Unicode-Eigenschafts-Escapes:
\p{L}funktioniert in PCRE, Python (mit dem richtigen Modul) und JavaScript mit demu-Flag, aber Verhalten und Verfügbarkeit variieren. - Der Punkt und Zeilenumbrüche: Das
s-Flag (dotall) und wie$Zeilenenden behandelt, unterscheiden sich je nach Engine und Standard-Flags.
Ein Tester, der alles durch eine Engine laufen lässt, kann Sie vor nichts davon warnen. Sie schreiben das Pattern, es funktioniert, Sie liefern es aus, und der Fehler tritt in einer Sprache auf, die der Tester nie berührt hat. Die Lösung ist, in der Variante zu testen, in die Sie ausliefern, oder ein Tool zu verwenden, das explizit mehr als eine versteht.
| Funktion | JS (V8) | PCRE | Python (re) | Go (RE2) |
|---|---|---|---|---|
| Lookbehind | Ja (modern) | Ja | Ja | Nein |
| Rückverweise im Pattern | Ja | Ja | Ja | Nein |
| Benannte Gruppen | (?<name>) | (?<name>) | (?P<name>) | (?P<name>) |
| Atomare Gruppen / Possessiv | Nein | Ja | Nein (3.11+ hat einige) | Nein |
| Rekursion / Subroutinen | Nein | Ja | Nein | Nein |
Wenn Ihr Tester diese Lücken nicht aufdeckt, ist der einzig sichere Weg, das Pattern in Ihrer tatsächlichen Laufzeitumgebung zu testen, bevor Sie ihm vertrauen.
Die besten kostenlosen Regex-Tester im Vergleich#
Hier ist der ehrliche Vergleich. Jeder dieser Tester ist für den Kern-Workflow wirklich kostenlos nutzbar. Die Unterschiede liegen in der Behandlung von Regex-Varianten (Flavors), der Tiefe der Erklärung und ob die Oberfläche stört.
| Tester | Flavors | Erfassungsgruppen | Ersetzungsmodus | Multi-Flavor-Warnung |
|---|---|---|---|---|
| regex101 | PCRE2, PCRE, JS, Python, Go, Java, .NET | Ja, detailliert | Ja | Teilweise (pro-Flavor-Modus, kein Vergleich) |
| RegExr | JS, PCRE | Ja | Ja | Keine Cross-Flavor-Kennzeichnung |
| Regex Pal | Nur JS | Einfach | Nein | Nein |
| Debuggex | JS, PCRE, Python | Visuelle Eisenbahndiagramme | Nein | Nein |
| Molixa Regex Tester | JS plus Flavor-bewusste Voreinstellungen und ein Spickzettel | Ja | Ja | Ja, kennzeichnet nicht portable Syntax |
Ein paar Anmerkungen zu jedem, damit Sie basierend auf Ihrer Arbeitsweise wählen können, nicht nur nach einer Sternebewertung.
regex101#
Der Standard für Power-User. Es unterstützt die meisten Flavors, hat ein hervorragendes Erklärungsfeld, das jedes Token kommentiert, und zeigt Erfassungsgruppen klar an. Der Haken für den Portabilitäts-Anwendungsfall ist, dass Sie jeweils einen Flavor auswählen und nur diesen testen. Es stellt keine zwei Flavors nebeneinander und vergleicht sie nicht, sodass Sie immer noch wissen müssen, den Flavor zu wechseln und erneut zu prüfen. Hervorragend für tiefgehendes Single-Engine-Debugging, weniger geeignet für die Frage "Läuft das überall?".
RegExr#
Sauber, schnell und dank der integrierten Referenz und Community-Muster großartig zum Lernen. Es ist JavaScript-zentriert mit etwas PCRE-Unterstützung und warnt nicht vor Cross-Flavor-Problemen. Eine solide Standardwahl für Frontend-Arbeit, bei der JS das einzige Ziel ist.
Regex Pal und Debuggex#
Regex Pal ist minimalistisch und nur JS, gut für eine schnelle Plausibilitätsprüfung. Debuggex zeichnet sich durch visuelle Eisenbahndiagramme aus, die ein dichtes Muster in ein Flussdiagramm verwandeln, was wirklich nützlich ist, um Verschachtelungen und Alternativen zu verstehen. Keiner ist auf Ersetzungsmodus oder Portabilität ausgelegt.
Molixa Regex Tester#
Entwickelt für den Workflow, um den es in diesem Artikel geht. Der kostenlose Regex-Tester läuft vollständig in Ihrem Browser (Ihr Muster und Ihre Testdaten verlassen nie die Seite), hebt Übereinstimmungen live hervor, zeigt jede Erfassungsgruppe einschließlich benannter Gruppen an und bietet einen Ersetzungsmodus mit Live-Vorschau. Das Unterscheidungsmerkmal ist die Flavor-Bewusstheit: Es liefert Voreinstellungen und einen Spickzettel, die auf Syntax hinweisen, die nicht sauber portiert werden kann. So erfahren Sie von einem Lookbehind- oder Backreference-Problem, bevor Sie nach Go oder Java ausliefern, nicht erst danach. Für jeden, der Regex in mehr als einer Sprache schreibt, ist diese Warnung der Unterschied zwischen einem Fünf-Minuten-Test und einem Produktionsvorfall.
So testen Sie Portabilität wirklich#
Egal welches Tool Sie wählen, die Disziplin ist wichtiger als das Logo. Hier ist der Workflow, der nicht portable Patterns aus der Produktion fernhält.
Schreiben und debuggen Sie Ihr Pattern zuerst in Ihrer ausdrucksstärksten Engine. PCRE oder modernes JS bietet die meisten Funktionen, also bauen Sie es dort mit vollständigen Capture-Gruppen und Replace-Tests auf.
Identifizieren Sie als Nächstes Ihr Deployment-Ziel. Wenn der Regex in Go läuft, sind Sie auf RE2, was bedeutet: kein Lookbehind, keine Backreferences und keine atomaren Gruppen. Wenn er in Java oder .NET läuft, haben Sie eine andere Syntax für benannte Gruppen und Inline-Flags. Das Ziel zu kennen, sagt Ihnen, worauf Sie achten müssen.
Scannen Sie Ihr Pattern auf die bekannten Portabilitätsfallen: Lookbehind (?<=...) und (?<!...), Backreferences \1, atomare Gruppen (?>...), possessive Quantifiers a++, Rekursion (?R) und benannte Gruppen-Syntax. Wenn Ihr Pattern eines davon verwendet, bestätigen Sie, dass die Ziel-Engine es unterstützt.
Testen Sie im Ziel-Flavor. Schalten Sie entweder Ihren Tester auf diese Engine um oder fügen Sie das Pattern in ein kurzes Skript in der echten Sprache ein. Ein zwei Zeilen langes Go- oder Python-Snippet, das den Regex kompiliert, sagt Ihnen sofort, ob er dort gültig ist.
Warnung: Ein Pattern, das kompiliert, ist nicht dasselbe wie ein Pattern, das sich identisch verhält. Selbst wenn die Syntax in verschiedenen Engines gültig ist, können die Voreinstellungen für Groß-/Kleinschreibung, Multiline und Unicode abweichen. Überprüfen Sie die tatsächlichen Matches, nicht nur, dass es kompiliert wurde.
Regex-Tester-Anwendungsfälle jenseits des Debuggings#
Ein guter Tester dient nicht nur zum Reparieren defekter Muster. Er ist der Ort, an dem Sie diese Muster erstellen. Typische Aufgaben, die in Sekunden erledigt werden:
- Validierungsregeln: E-Mail, Telefon, Postleitzahl oder SKU-Muster, getestet mit einer Liste guter und schlechter Beispiele, bevor Sie sie in ein Formular einbinden.
- Log-Parsing: Extrahieren von Zeitstempeln, IPs und Statuscodes aus rohen Logzeilen mit benannten Capture-Gruppen.
- Suchen und Ersetzen im großen Stil: Bereinigen von CSV-Exporten, Umformatieren von Daten oder Entfernen von Markup mit dem Ersetzungsmodus und Rückverweisen.
- Lernen: Wenn Sie noch unsicher sind, lehrt ein kommentierter Tester mit einem Spickzettel schneller als das Lesen der Spezifikation.
Wenn Sie noch mehr Sicherheit bei kniffligen Konstrukten gewinnen möchten, führt unser Leitfaden zu Regex Lookahead und Lookbehind durch die genauen Assertions, die die meisten plattformübergreifenden Probleme verursachen, und der umfassendere Leitfaden zur Beherrschung regulärer Ausdrücke deckt das gesamte Toolkit von Ankern bis zu Rückverweisen ab.
Den besten kostenlosen Regex-Tester für Sie finden#
Welcher ist also der beste kostenlose Regex-Tester? Das hängt von einer Frage ab: Arbeiten Sie mit einer Engine oder mit mehreren?
Wenn Sie ausschließlich in JavaScript arbeiten, reichen RegExr oder ein reiner JS-Tester völlig aus. Wenn Sie tiefgehendes Debugging in einer einzigen Engine betreiben und die detaillierteste Token-Erklärung wünschen, ist regex101 kaum zu übertreffen. Aber wenn Sie Regex über mehrere Sprachen hinweg schreiben, und die meisten Teams tun das, ist das entscheidende Merkmal, ob das Tool Sie vor nicht portabler Syntax warnt, bevor es in die Produktion geht. Das ist die Lücke, die die gängigen Übersichten nie messen, und genau hier verdient ein flavor-bewusstes Tool seinen Platz in Ihrem Workflow.
Wählen Sie das Tool, das zu Ihrer Realität passt. Für die Arbeit mit mehreren Sprachen priorisieren Sie Portabilitätswarnungen, Capture-Group-Tiefe und einen funktionierenden Ersetzungsmodus gegenüber einer hübscheren Oberfläche. Testen Sie das endgültige Pattern dann in Ihrer tatsächlichen Laufzeitumgebung, unabhängig davon, was der Tester Ihnen gesagt hat, denn keine Browser-Vorschau ersetzt das Kompilieren in der Sprache, in der Sie bereitstellen.
Häufig gestellte Fragen#
Was ist der beste kostenlose Regex-Tester für mehrere Sprachen? Für die Arbeit mit mehreren Sprachen wählen Sie einen Tester, der entweder den Wechsel der Engine erlaubt (wie regex101, das PCRE, JS, Python, Go, Java und .NET unterstützt) oder der Sie auf nicht portable Syntax hinweist, wie der Molixa Regex-Tester. Das wichtigste Merkmal ist, dass Sie gewarnt werden, wenn ein Pattern mit Lookbehind oder Backreferences in einer Engine wie Go's RE2 nicht funktioniert, bevor Sie es einsetzen.
Warum funktioniert mein Regex im Tester, aber nicht in der Produktion? Fast immer, weil der Tester und Ihre Produktionslaufzeit unterschiedliche Regex-Engines verwenden. Funktionen wie Lookbehind, Backreferences, atomare Gruppen und benannte Gruppen variieren zwischen JavaScript, PCRE, Python, Java und Go. Ein Pattern kann in der Engine des Testers gültig sein, aber in Ihrer nicht. Bestätigen Sie Ihr Pattern immer in der Variante, die Sie tatsächlich einsetzen.
Muss ich für einen Regex-Tester bezahlen? Nein. Der Kern-Workflow aus Erstellen, Matchen, Inspizieren von Capture-Gruppen und Ersetzen ist bei regex101, RegExr und Molixas Tester kostenlos. Bezahlte Stufen fügen normalerweise Kontofunktionen wie das Speichern von Patterns in der Cloud hinzu, nicht das Testen selbst. Sie können ernsthafte Regex-Debugging durchführen, ohne etwas auszugeben.
In welcher Regex-Engine sollte ich mein Pattern erstellen? Erstellen Sie es zuerst in Ihrer funktionsreichsten Ziel-Engine, typischerweise PCRE oder modernem JavaScript, da diese die breiteste Syntax unterstützen. Überprüfen Sie dann Ihr Pattern gegen die restriktivste Engine, die Sie einsetzen. Wenn Go (RE2) im Spiel ist, bauen Sie von Anfang an mit seinen Grenzen, da es Lookbehind und Backreferences vollständig fehlen.
Ist es sicher, sensible Daten in einen Online-Regex-Tester einzufügen? Das hängt vom Tool ab. Einige Tester senden Ihr Pattern und Ihren Testtext an einen Server. Ein browserbasierter Tester wie Molixas läuft vollständig auf Ihrem Rechner, sodass Ihre Daten die Seite nie verlassen, was wichtig ist, wenn Sie mit echten Logs oder Kundendaten testen. Prüfen Sie, ob ein Tool Daten lokal verarbeitet, bevor Sie etwas Sensitives einfügen.
Kann ein Regex-Tester mir anzeigen, was jede Capture-Gruppe gematcht hat? Ja, und Sie sollten darauf bestehen. Ein qualitativ hochwertiger Tester listet jede nummerierte und benannte Capture-Gruppe pro Match auf, sodass Sie eine Extraktion überprüfen können, anstatt nur zu sehen, dass ein Match aufgetreten ist. Wenn ein Tool nur "Match gefunden" meldet, ohne die Gruppenaufschlüsselung, kann es Ihnen nicht helfen, ein echtes Extraktionspattern zu debuggen.



