>_devtools-hub

Glob Pattern Tester

glob パターンのマッチングをリアルタイムで確認

BOOTHで見る(有料版)
CLIWeb開発開発者向け

* ** ? {} [] に対応したグロブエンジンで、入力したファイルパスリストとパターンを即座に照合。マッチしたパスを緑でハイライト表示。.gitignore モードでは git check-ignore と同じ規則(スラッシュなしのパターンはどの階層にも当たる・! の打ち消し・除外したディレクトリの中は戻せない)で、除外されるかどうかと決め手の行を表示します。

広告

Glob Pattern Tester

5 / 10 paths matched
✓src/index.ts
✓src/app/page.tsx
✓src/components/Header.tsx
✓src/components/Footer.tsx
src/utils/helper.js
✓src/utils/format.ts
tests/setup.ts
README.md
package.json
dist/bundle.js
Pattern Syntax
*スラッシュ以外の任意文字列
**/0個以上のディレクトリ
?任意の1文字
{js,ts}ブレース展開(OR)
[abc]文字クラス
[!a-z]文字クラスの否定

Features

  • glob パターン入力(*, **, ?, {}, [])
  • ファイルパスリストを複数行で入力
  • マッチしたパスをリアルタイムでハイライト表示
  • マッチ数(X / N paths matched)を表示
  • パターン構文リファレンス内蔵
  • .gitignore モード:Git と同じ規則で除外を判定し、決め手の行番号を表示
  • 親ディレクトリの除外で ! が効かないファイルを理由つきで表示

Desktop App

デスクトップ版を入手する

Web版にはない機能をデスクトップ版で追加しています。

  • テキストファイルからパスリストを読み込み
BOOTH で見る

この作業の手順ガイド


globパターン入門 — *, **, ?, {}, [] の使い方

globパターンはファイルパスのワイルドカードマッチング構文です。ESLint・vitest・tsconfig・GitHub ActionsなどほぼすべてのCLIツールで使われており、「どのファイルを対象にするか」を一行で表現できます。

* と ** の違い

単一の*はスラッシュを含まない任意の文字列にマッチします。例えば*.tsはトップレベルのformat.tsにはマッチしますが、src/utils/format.tsにはマッチしません。src/*.tsも、src/直下のTSファイルにしかマッチしません(.gitignoreだけは例外で、スラッシュを含まない*.tsはどの階層のTSファイルにも当たります)。一方**(ダブルスター)はスラッシュを含む任意のパスにマッチします。src/**/*.tsはsrc/以下どの深さにあるTSファイルにもマッチするため、ディレクトリ構造を問わず対象にしたいときに使います。

ブレース展開 {a,b,c}

{ts,tsx}はtsまたはtsxのどちらかにマッチするOR条件です。**/*.{js,ts,jsx,tsx}のように複数の拡張子をまとめて指定できます。ブレース内はカンマ区切りで複数の候補を列挙でき、部分文字列として機能するため{test,spec}.tsのような使い方も可能です。多くのglob実装でサポートされていますが、一部のBashバージョンでは動作が異なります。

文字クラス [abc] と ? の使い方

[abc]は角括弧内の任意の1文字にマッチします。[a-z]のような範囲指定も使えます。?は任意の1文字(スラッシュ除く)にマッチします。例えばsrc/app?.tsはsrc/app1.tsやsrc/appA.tsにマッチします。実用頻度は*や**より低いですが、バージョン番号のような単一桁の違いを扱うときに便利です。

globパターンを使うツール一覧

ESLint(flat config)のfiles・ignores、vitestのinclude/exclude、GitHub Actionsのpaths/paths-ignore、tsconfig.jsonのinclude/excludeは、いずれもglobで対象ファイルを指定します。ただし細かな規則はツールごとに違い、たとえばtsconfigのincludeは{ts,tsx}のような中かっこに対応していません。.gitignoreも見た目はglobですが、スラッシュの有無で当たる階層が変わる、!で打ち消せる、中かっこが使えない、といった独自の規則があります。このツールの「.gitignore」モードは、Gitと同じ規則で除外されるかを判定します。

広告

Related Tools

Lockfile Diff

package-lock.json の更新前後を比較 — 版の動きをメジャー/マイナー/パッチで分類

npmバージョン管理開発者向け

使ってみる →

Text Encoding Checker

文字コードを判定して UTF-8 に変換 — 化けた文字列の復元も

テキストエンコード開発者向け

使ってみる →

Line Ending Inspector

改行コードを検査 — CRLF / LF / CR の内訳と混在、BOMの有無

テキストエンコード開発者向け

使ってみる →

このツールを共有する