测 glob 匹配哪些路径,支持 * ** ? [a-z] {js,ts} 与 ! 全套语法,同时显示等价正则,浏览器本地运算不上传
- 本地处理
- 分类 开发运维
- 适合 分享前检查文件类型、大小、元数据和明显不匹配信号。
/^src/(?:.*/)?[^/]*\.ts$/
- src/index.ts✓ 匹配
- src/utils/date.ts✓ 匹配
- src/types.d.ts✓ 匹配
- README.md· 不匹配
- dist/app.js· 不匹配
- test/index.test.ts· 不匹配
这个工具能做什么
免费的 glob 通配符测试器,用于 .gitignore 规则、构建配置和文件匹配。 一边粘上一个 glob,比如 src/**/*.ts,另一边贴上一串路径,每一行会 立刻标出匹配还是不匹配。工具把你的 glob 编译成完全等价的正则并显示 出来,让你看清一条模式为什么命中或落空,而不是靠猜。它覆盖完整的 glob 语法:单星匹配一层路径里的任意内容、双星跨任意层级目录、问号 是一个字符、方括号是带区间的字符类、大括号是或选组、开头加叹号按 gitignore 风格取反整条模式。全部在浏览器里运行,不上传,一键复制 匹配到的路径,分享链接会原样还原你的模式和路径列表给同事。100% 浏览器本地。
工具细节
- 输入
- 文件 + 文本
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
Glob 通配符匹配测试器 适合怎么用
适合在上传、交付、归档、客服排查前使用,也适合任何文件离开本机前的本地复核。
适合文件任务
- 分享前检查文件类型、大小、元数据和明显不匹配信号。
- 上传、归档、接收或审核前整理混合文件夹。
- 敏感文件先留在浏览器里处理,不用交给账号型服务。
文件检查项
- 不要只凭扩展名判断真实文件类型。
- 文件发给客户、供应商或公开页面前,先看元数据。
- 复制、转换或导出结果确认前,保留原文件。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
提交前先验一条 .gitignore 规则
你给 .gitignore 加了 dist/**,但某个构建产物仍然出现在 git status 里。把 dist/** 当模式贴上,再贴上真实泄漏的路径(dist/app.js、 dist/chunks/vendor.js、build/dist/x.js),测试器立刻显示规则到底 抓到了哪些。你发现 build/dist/x.js 没被匹配,因为规则锚在了根, 改成 **/dist/** 并在提交前确认,而不是提交后才发现。
为构建工具挑对 include 通配符
Vite 或 ESLint 要一个 glob 决定处理哪些文件。你以为 src/*.ts 全包, 贴几条嵌套路径上去,发现 src/utils/date.ts 被跳过,因为单星只待 在一层目录里。换成 src/**/*.ts,看着每个嵌套文件都翻成匹配,再把 能用的模式直接复制进配置。
教或学 glob 怎么对应到正则
同事不明白为什么 **/*.ts 能匹配顶层文件。输入这个 glob,看测试器 在结果旁打印的等价正则。看到双星变成 (?:.*/)? 就一目了然:目录 前缀是可选的,所以 index.ts 在零层目录下也匹配。把链接分享出去, 这套解释会带着你的例子原样打开。
过滤一个部署或 CI 路径列表
某个 CI 任务只应在 packages 下的文件变更时运行。把路径过滤 glob 和一次拉取请求改动的文件列表贴上,看哪些文件触发了任务。你发现 一次纯文档改动也被匹配,因为 glob 写得太松,收紧它,别再为不需要 运行的构建浪费 CI 分钟。
常见踩坑
以为单星能跨目录。单星只待在一层路径段里,所以 *.ts 只匹配当前目录里的文件,src/*.ts 会跳过 src/sub/x.ts。文件可能嵌套时,改用 src/**/*.ts 这样的双星。
忘了 ** 需要独占一段。写成 src/**.ts 不会按你以为的方式跨目录;跨目录的写法是 src/**/*.ts,双星和文件模式之间隔着一个斜杠。测试器会立刻显示这个差别。
把 glob 当正则用。glob 里的点就是字面的点、加号就是字面的加号,也没有 ^ 或 $ 这种锚定。所以 *.txt 表示字面的 .txt 扩展名,而不是任意字符再加 txt。等价正则面板把转义写明,省得你想多。
隐私说明
整个测试器都是浏览器标签页里运行的纯 JavaScript。你的 glob 模式、 路径列表和匹配结果都不离开页面,也不记录任何东西。唯一要注意:分享 链接会把模式和路径写进网址,所以把链接粘到聊天里,对方服务器的访问 日志会留下这些路径。路径涉及敏感信息时,请用复制按钮粘贴文本,而不是 分享网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。