Aller au contenu
uencoder

Glob

Glob est la correspondance de motifs de chemins de fichiers façon shell, utilisant des jokers tels que * ** ? [] pour associer des noms de fichiers ; c'est plus simple que les expressions régulières.

Objectif

Fournir une correspondance de motifs simple pour les systèmes de fichiers, sans la syntaxe complexe des expressions régulières.

Mécanisme

* correspond à toute chaîne dans un seul segment de chemin (hors /) ; ** correspond récursivement à plusieurs niveaux de répertoires ; ? correspond à un caractère ; [] à une classe de caractères ; {} à des groupes optionnels. Le développement en listes de fichiers est fait par le shell ou des bibliothèques comme minimatch/picomatch. Largement utilisé par .gitignore, npm et Vite.

Cas d’usage

  • Règles d'exclusion .gitignore et npm
  • Motifs d'inclusion/exclusion de fichiers dans les outils de build
  • Commandes shell (ls *.js)
  • Filtrage de fichiers dans les IDE

Exemples

  • entrée
    src/**/*.ts
    Output
    All .ts files under src (recursive)

    ** recursion

Erreurs courantes

Confusing * with ** (single level vs recursive)
** must be enabled via configuration (e.g., in minimatch)

Termes associés

References