Glob 模式测试器

实时测试通配符匹配逻辑,助力精准配置项目路径

广告占位符 - Google AdSense (Top)

配置与测试

输入模式以查看语法说明...

匹配结果

总数: 0
匹配: 0
未匹配: 0
请输入路径开始测试
快速语法参考
* 匹配当前目录任意字符
** 跨目录匹配任意层级
? 匹配单个任意字符
{a,b} 匹配 a 或 b 选项
[a-z] 匹配字符范围
!(x) 排除匹配特定模式
广告占位符 - Google AdSense (Bottom)

深入理解 Glob 模式及其在开发中的应用

Glob(Global)模式是一种简化的正则表达式语法,最初用于 Unix Shell 匹配文件路径。如今,它已成为现代 Web 开发工具链中不可或缺的一部分,被广泛应用于 Webpack, Gulp, ESLint, Prettier, VS Code 以及各类 CI/CD 配置文件(如 .gitignoreGitHub Actions )中。

为什么要使用 Glob 测试工具?

在复杂的项目结构中,编写准确的路径匹配规则极具挑战性。常见的痛点包括:

我们的在线测试器通过 picomatch 引擎(目前最高效的 Glob 解析器之一)实时反馈匹配结果,帮助您在应用配置前进行精准校验。

解决的具体场景

场景一:配置项目 Lint 规则。
您希望对 src 下的所有 .js.ts 文件进行检查,但排除所有以 .test. 结尾的文件。您可以测试模式: src/**/!(*.test).{js,ts}

场景二:Webpack 入口点扫描。
通过 **/*.entry.js 自动发现所有入口文件,确保嵌套目录下的页面也能被正确打包。

场景三:CI/CD 缓存路径。
在 GitHub Actions 中配置 cache 路径,确保只缓存 package-lock.json 所在的目录,避免缓存冗余数据。

Glob 核心语法详解

  1. * (单星号): 匹配单个路径段内的任意数量字符。例如 *.js 匹配 app.js ,但不匹配 src/app.js
  2. ** (双星号): 匹配零个或多个目录。例如 src/**/*.js 会深度递归查找 src 下所有的 JavaScript 文件。
  3. {} (大括号): 用于创建扩展组。 {js,ts} 匹配 jsts 后缀。
  4. [] (中括号): 匹配字符集合。 [0-9] 匹配任何数字位。
  5. ! (感叹号): 用于取反。注意在许多实现中,取反模式通常需要放在一个列表的末尾或作为独立规则。

如何使用本工具?

1. 输入模式: 在左侧输入框填写您的 Glob 规则。工具会自动为您解析并生成人类可读的语法说明。

2. 列出路径: 将您的项目文件结构(部分)粘贴到下方文本框。建议包含一些您希望匹配和希望排除的临界路径。

3. 观察反馈: 右侧会实时通过 绿色(匹配)和 灰色(未匹配)标签显示结果,并统计命中率。

4. 分享: 点击“分享测试”可生成包含当前配置的加密链接,方便与同事讨论或记录配置方案。

内容已复制