コンテンツへスキップ
uencoder

Glob

Glob はシェル形式のファイルパスパターンマッチングであり、* ** ? [] などのワイルドカードでファイル名を照合する。正規表現よりシンプルである。

目的

正規表現の複雑な構文なしに、ファイルシステム向けのシンプルなパターンマッチングを提供する。

メカニズム

* は単一パスセグメント内の任意の文字列(/ を除く)に一致、** は複数ディレクトリ階層を再帰的に一致、? は 1 文字に一致、[] は文字クラスに一致、{} は省略可能なグループに一致する。シェルや minimatch/picomatch などのライブラリによってファイルリストへ展開される。.gitignore、npm、Vite で広く使用される。

ユースケース

  • .gitignore と npm の無視ルール
  • ビルドツールのファイル包含/除外パターン
  • シェルコマンド(ls *.js)
  • IDE のファイルフィルタリング

例

  • 入力
    src/**/*.ts
    Output
    All .ts files under src (recursive)

    ** recursion

よくあるエラー

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

関連用語

References