Glob-zu-Regex-Konverter
Konvertiere ein glob-Muster in einen JavaScript-regulären-Ausdruck in deinem Browser und teste ihn gegen echte Pfade. Deine Muster bleiben auf deinem Gerät.
Dein glob-Muster und die getesteten Beispielpfade werden lokal in deinem Browser konvertiert und nie hochgeladen.
Musst du das Ergebnis debuggen? Öffne den Regex Tester.
Über Glob-zu-Regex-Konverter
Dieser Glob-zu-Regex-Konverter verwandelt ein Shell-artiges Wildcard-Muster in einen gleichwertigen JavaScript-regulären-Ausdruck, den du direkt in Code einfügen kannst. Tippe ein glob wie *.js, **/*.ts, src/** oder file-{a,b}.txt und das Tool baut den regex-Quelltext samt Flags, wobei literale Zeichen wie Punkte und Klammern escaped werden, damit sie genau passen. Schalte globstar um, damit ** Pfadtrenner überquert, Klammer-Erweiterung für {a,b,c}-Alternation, vollständige String-Verankerung mit ^ und $ und ein Flag für Groß-/Kleinschreibungs-Unabhängigkeit. Ein Live-Tester führt deinen regex gegen eine Liste von Beispielpfaden aus, markiert jeden Treffer grün und jeden Fehlschlag rot, und eine Legende erklärt jedes übersetzte Token. Alles läuft in deinem Browser, sodass die eingegebenen Muster und Pfade auf deinem Gerät bleiben.
Funktionen
- Übersetzt *, ?, ** (globstar), Zeichenklassen und {a,b}-Klammern in regex-Syntax
- Der globstar-Schalter steuert, ob ** und * den /-Pfadtrenner überqueren
- Negierte Klassen [!abc] werden zu [^abc], und Bereiche wie [0-9] bleiben erhalten
- Escaped regex-Metazeichen, die in globs literal sind, sodass . + ( ) genau passen
- Optionale ^…$-Verankerung für vollständige String-Treffer und ein i-Flag für Groß-/Kleinschreibungs-Unabhängigkeit
- Live-Tester prüft eine Liste von Beispielpfaden und färbt jeden Treffer grün oder rot
- Token-Legende erklärt, was jeder Teil des glob im regex geworden ist
- Kopiere den regex als /pattern/flags-Literal mit einem Klick
So verwendest du Glob-zu-Regex-Konverter
- Tippe oder füge ein glob-Muster wie **/*.ts in das Musterfeld ein.
- Schalte globstar, Verankerung, Klammer-Erweiterung und Groß-/Kleinschreibungs-Unabhängigkeit ein oder aus.
- Lies den generierten regex-Quelltext und die Flags und prüfe die Token-Legende.
- Gib Beispielpfade in den Tester ein, einen pro Zeile, um zu sehen, welche passen.
- Klicke auf Regex kopieren, um das /pattern/flags-Literal für deinen Code zu erhalten.
Beispiel
Eingabe
src/**/*.{ts,tsx}
Ausgabe
/^src/(?:.*/)?[^/]*\.(?:ts|tsx)$/
Globstar lässt src/**/ verschachtelte Ordner überspannen, während *.{ts,tsx} am Blatt bleibt.
Häufige Fehler & Fehlerbehebung
- *.js passt unerwartet auf einen verschachtelten Pfad wie src/app.js. — Lass globstar aktiviert, damit ein einzelnes * am /-Trenner stoppt; nutze **/*.js, wenn du verschachtelte Dateien willst.
- Ein Muster wie file.txt passt auf filextxt oder fileXtxt. — Das passiert mit einem rohen regex; dieser Konverter escaped den Punkt bereits zu \., sodass er nur auf einen literalen Punkt passt.
- Der regex passt nie, obwohl der Pfad richtig aussieht. — Die Verankerung umschließt das Muster mit ^…$, sodass der gesamte String passen muss. Schalte die Verankerung aus für Teilstring-Treffer.
- {a,b} erscheint literal in der Ausgabe, statt zu einer Alternation zu werden. — Aktiviere die Klammer-Erweiterung; ohne sie werden Klammern als literale Zeichen behandelt.
Häufig gestellte Fragen
- Was bedeutet ** in einem glob-Muster?
- ** ist der globstar. Mit aktivierter globstar-Option passt er über Pfadtrenner hinweg, sodass src/**/*.ts Dateien in jedem verschachtelten Ordner erreicht, während ein einzelnes * am nächsten / stoppt.
- Wie werden glob-Zeichenklassen in regex konvertiert?
- [abc] wird direkt zu einer regex-Zeichenklasse, Bereiche wie [0-9] bleiben intakt, und eine negierte glob-Klasse geschrieben als [!abc] wird zu [^abc] konvertiert, sodass sie auf jedes nicht aufgeführte Zeichen passt.
- Warum escaped der Konverter Punkte und andere Zeichen?
- Zeichen wie . + ( ) | sind in einem glob literal, aber in einem regex speziell. Das Tool escaped sie zu \. \+ und so weiter, sodass der resultierende regex genau auf diese Zeichen passt, statt sie als Operatoren zu behandeln.
- Unterstützt es Klammer-Erweiterung wie {a,b,c}?
- Ja. Mit aktivierter Klammer-Erweiterung wird file-{a,b}.txt zu einer Alternation, die auf file-a.txt oder file-b.txt passt, und du kannst sogar globs in Klammern verschachteln, etwa {*.js,*.ts}.
- Kann ich einen Teilstring statt des ganzen Pfads treffen?
- Schalte die vollständige String-Verankerung aus. Verankerte Muster werden in ^…$ eingeschlossen, sodass der gesamte String passen muss; ohne Verankerung kann der regex irgendwo in einem längeren String treffen.
- Wird mein glob-Muster an einen Server gesendet?
- Nein. Die Glob-zu-Regex-Konvertierung und der Live-Tester laufen beide vollständig in deinem Browser, sodass die eingegebenen Muster und Beispielpfade lokal verarbeitet werden und auf deinem Gerät bleiben.
Verwandte Tools
Alle ArrayKit-Tools