Convertisseur glob vers regex

Convertissez un motif glob en expression régulière JavaScript dans votre navigateur et testez-la sur de vrais chemins. Vos motifs restent sur votre appareil.

Votre motif glob et les chemins d'exemple que vous testez sont convertis localement dans votre navigateur et ne sont jamais téléversés.

Besoin de déboguer le résultat ? Ouvrez le Testeur de regex.

À propos de Convertisseur glob vers regex

Ce convertisseur glob vers regex transforme un motif de type shell à caractères génériques en une expression régulière JavaScript équivalente que vous pouvez insérer directement dans votre code. Tapez un glob comme *.js, **/*.ts, src/** ou file-{a,b}.txt et l'outil construit la source de la regex ainsi que les drapeaux, en échappant les caractères littéraux comme les points et les parenthèses pour qu'ils correspondent exactement. Activez globstar pour que ** franchisse les séparateurs de chemin, l'expansion d'accolades pour l'alternation {a,b,c}, l'ancrage de chaîne complète avec ^ et $, et un drapeau insensible à la casse. Un testeur en direct exécute votre regex sur une liste de chemins d'exemple, marquant chaque correspondance en vert et chaque absence en rouge, et une légende explique chaque jeton traduit. Tout s'exécute dans votre navigateur, donc les motifs et chemins que vous saisissez restent sur votre appareil.

Fonctionnalités

Comment utiliser Convertisseur glob vers regex

  1. Tapez ou collez un motif glob tel que **/*.ts dans la zone de motif.
  2. Activez ou désactivez globstar, ancrage, expansion d'accolades et insensibilité à la casse.
  3. Lisez la source et les drapeaux de la regex générée, et examinez la légende des jetons.
  4. Saisissez des chemins d'exemple dans le testeur, un par ligne, pour voir lesquels correspondent.
  5. Cliquez sur Copier la regex pour récupérer le littéral /motif/drapeaux pour votre code.

Exemple

Entrée

src/**/*.{ts,tsx}

Sortie

/^src/(?:.*/)?[^/]*\.(?:ts|tsx)$/

Globstar permet à src/**/ de couvrir les dossiers imbriqués tandis que *.{ts,tsx} reste à la feuille.

Erreurs courantes et dépannage

Foire aux questions

Que signifie ** dans un motif glob ?
** est le globstar. Avec l'option globstar activée, il correspond à travers les séparateurs de chemin, donc src/**/*.ts atteint les fichiers de n'importe quel dossier imbriqué, tandis qu'un seul * s'arrête au prochain /.
Comment les classes de caractères glob sont-elles converties en regex ?
[abc] correspond directement à une classe de caractères regex, les plages comme [0-9] sont conservées intactes, et une classe glob niée écrite [!abc] est convertie en [^abc] pour correspondre à tout caractère non listé.
Pourquoi le convertisseur échappe-t-il les points et d'autres caractères ?
Des caractères tels que . + ( ) | sont littéraux dans un glob mais spéciaux dans une regex. L'outil les échappe en \. \+ et ainsi de suite, pour que la regex résultante corresponde à ces caractères exactement plutôt que comme des opérateurs.
Prend-il en charge l'expansion d'accolades comme {a,b,c} ?
Oui. Avec l'expansion d'accolades activée, file-{a,b}.txt devient une alternation qui correspond à file-a.txt ou file-b.txt, et vous pouvez même imbriquer des globs dans les accolades, comme {*.js,*.ts}.
Puis-je correspondre à une sous-chaîne plutôt qu'au chemin entier ?
Désactivez l'ancrage de chaîne complète. Les motifs ancrés sont entourés de ^…$ pour que toute la chaîne corresponde ; sans ancrage, la regex peut correspondre n'importe où dans une chaîne plus longue.
Mon motif glob est-il envoyé à un serveur ?
Non. La conversion glob vers regex et le testeur en direct s'exécutent tous deux entièrement dans votre navigateur, donc les motifs et chemins d'exemple que vous tapez sont traités localement et restent sur votre appareil.

Outils associés

Tous les outils ArrayKit