Wählen Sie Sprache und Muster. Der Generator erstellt den Code-Rahmen; prüfen Sie die verwendeten Regex-Funktionen im jeweiligen Regex-System.
Läuft lokal in deinem BrowserGib einen regulären Ausdruck ein, wähle eine der sieben Zielsprachen und klicke auf Code erzeugen. Das Feld liefert ein kurzes Programm, das das Muster mit der Regex-API dieser Sprache kompiliert und gegen einen Beispieltext prüft.
Das Snippet entsteht in der Seite: Beim Erzeugen der Beispiele ging während der Tests keine Netzwerkanfrage raus, das Muster verlässt den Browser also nicht und das Werkzeug arbeitet auch nach einem Verbindungsabbruch weiter.
JavaScript: new RegExp("…") plus pattern.test(text). PHP: preg_match('~…~', $text, $matches) mit var_dump des Ergebnisses, wobei das Trennzeichen ~ im Muster maskiert wird, damit eine wörtliche Tilde ihre Bedeutung behält. Go: regexp.Compile mit MatchString und der Compile-Fehler über panic. Java: Pattern.compile und matcher(text).find(). Ruby: Regexp.new('…') und match?. Python: re.compile, search und bool(). C#: eine Verbatim-Zeichenkette @"…" mit Regex.IsMatch(text, pattern).
Jedes Beispiel hält den Testtext in einer Variablen namens text ($text in PHP) mit leerer Zeichenkette, und das Muster wird für das Zeichenkettenliteral der Zielsprache maskiert — Backslashes, das jeweilige Anführungszeichen sowie \r und \n, wo die Sprache sie braucht —, sodass Muster wie say "hi", a\~b oder a~b unverändert in der Ziel-Engine ankommen. Jedes Snippet wurde mit passenden und nicht passenden Eingaben ausgeführt und lieferte das erwartete Ergebnis.
Die Beispiele testen eine leere Zeichenkette, deshalb geben die meisten ein negatives Ergebnis aus, bis du text durch eigene Eingaben ersetzt. Validiert wird nichts: Ein Muster, das nicht kompiliert — ein einzelner Backslash, eine nicht geschlossene Gruppe —, wird genau so kopiert, wie du es getippt hast, und scheitert in der Zielsprache; Flags, die Teil des Musters sind (/abc/i), bleiben wörtlicher Text statt zu den Optionen der Sprache zu werden.
PHP läuft auf PCRE mit dem Trennzeichen ~, und PCRE kennt keinen \uXXXX-Escape: Für ein Zeichen wie é nutzt du \x{00E9} in einem /u-Muster. Go kompiliert mit regexp, das Lookaround und Rückverweise ablehnt; das erzeugte Programm bricht daher bei Mustern ab, die JavaScript oder Python akzeptieren.
Das Werkzeug kopiert den Mustertext; es übersetzt ihn nicht zwischen Engines. Mit demselben Muster in drei Engines gemessen: ^b passt in Ruby innerhalb von "a\nb", weil ^ und $ dort an Zeilen ankern, und passt in JavaScript, Python und PHP nicht. \d passt in Python auf die arabisch-indische Ziffer ٣ und in PHP nur mit dem /u-Modifier, während Ruby und JavaScript \d auf die ASCII-Ziffern 0–9 beschränken. Prüfe das Muster in der Zielsprache, bevor du es auslieferst.