Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Zum Hauptinhalt springen
Gizke.com
Blog

Regex-Tester

Läuft auf Ihrem Gerät. Nichts wird gesendet.

Flags

Häufige Muster

Test-Text

Keine Treffer gefunden

Erklärung

Geben Sie oben ein Muster ein, um eine Aufschlüsselung jedes Teils zu sehen

Testen, erklären und debuggen Sie reguläre Ausdrücke in JavaScript mit Live-Hervorhebung der Treffer, komplett im Browser.

Ein regulärer Ausdruck (Regex) ist ein Muster, das zum Abgleichen, Finden oder Ersetzen von Text verwendet wird - dasselbe zugrunde liegende Werkzeug, das Suchen-und-Ersetzen in Code-Editoren, Formularvalidierung und Log-Parsing antreibt. Dieser Tester führt die native Regex-Engine von JavaScript direkt in Ihrem Browser aus: Geben Sie ein Muster und einen Test-Text ein, und er hebt jeden Treffer hervor, zerlegt Erfassungsgruppen, zeigt Ersetzungen in der Vorschau und erklärt in einfacher Sprache, was jeder Teil des Musters tut. Nichts, was Sie eingeben, wird hochgeladen.

Häufig gestellte Fragen

Welche Regex-Variante wird hier verwendet?
Die eingebaute Regex-Engine von JavaScript (die hinter RegExp und String.prototype.match/replace), da hier alles clientseitig in Ihrem Browser läuft statt auf einem Server. Sie ist PCRE sehr ähnlich, hat aber einige Unterschiede - zum Beispiel hängt die Lookbehind-Unterstützung von der Engine-Version ab, und benannte Gruppen verwenden die Syntax (?<name>...).
Warum findet mein Muster nur einen Treffer?
Standardmäßig stoppt ein Regex ohne das g-Flag (global) nach dem ersten Treffer - das entspricht dem tatsächlichen Verhalten von RegExp.exec() und String.match() in JavaScript. Aktivieren Sie oben das g-Flag, um jeden Treffer im Test-Text zu finden statt nur den ersten.
Was ist der Unterschied zwischen (...) und (?:...)?
Beide gruppieren Teile eines Musters, aber nur (...) - eine Erfassungsgruppe - speichert, was sie getroffen hat, sodass Sie später darauf verweisen können (als $1, $2, ... in einer Ersetzung oder in der Gruppenliste des Treffers). (?:...) ist eine nicht erfassende Gruppe: Sie gruppiert und wendet Quantoren an, ohne den Treffer zu behalten - nützlich, wenn Sie eine Gruppierung brauchen, sich aber nicht für den erfassten Text interessieren.
Wie funktionieren benannte Gruppen und $<name>-Ersetzungen?
Schreiben Sie (?<name>...) statt (...), um eine Gruppe unter einem Namen statt nur einer Nummer zu erfassen. Im Ersetzen-Modus verweisen Sie im Ersetzungstext darauf als $<name> - zum Beispiel ordnet (?<jahr>\d{4})-(?<monat>\d{2}), ersetzt durch $<monat>/$<jahr>, ein Datum neu an, ohne sich Gruppennummern merken zu müssen.
Was ist der Unterschied zwischen einem gierigen (greedy) und einem faulen (lazy) Quantor, wie + gegenüber +??
Ein gieriger Quantor (+, *, {2,4}) erfasst so viel wie möglich und gibt nur so weit nach, wie nötig ist, damit der Rest des Musters passt. Ein fauler Quantor - dasselbe Symbol gefolgt von ? - erfasst dagegen so wenig wie möglich und erweitert sich nur bei Bedarf Zeichen für Zeichen. Zum Beispiel erfasst <.+> in <a><b> gierig das gesamte <a><b>, während <.+?> nur <a> erfasst.
Was prüfen Lookahead und Lookbehind eigentlich, wenn sie keine Zeichen verbrauchen?
Sie prüfen, ob ein Muster unmittelbar vor oder nach der aktuellen Position erscheint, ohne es selbst in den Treffer aufzunehmen - (?=...) und (?<=...) prüfen also voraus/zurück, ob etwas vorhanden sein muss, während (?!...) und (?<!...) prüfen, dass es nicht vorhanden sein darf. Deshalb können Sie \d+(?=px) verwenden, um eine Zahl nur dann zu finden, wenn „px“ folgt, wobei „px“ selbst nie im Treffer auftaucht.
Für Entwickler: öffnen Sie diese Seite mit den Parametern `q` (das Muster) und `text` (der Testtext) in der URL - z. B. gizke.com/regex?q=\d+&text=There are 42 apples - und beide werden automatisch vorausgefüllt. Die meisten Besucher benötigen das nicht; es dient dazu, direkt auf ein einsatzbereites Beispiel zu verlinken.

Dieses Tool teilen

BlogÜber unsKontaktNutzungsbedingungenDatenschutzerklärung