Glob 模式
Glob 模式的快速参考指南。
glob pattern(通配符模式)是用于匹配值集合的模式。它是一种简化指定多个目标的速记法,使处理数据或配置组更容易
下表详细说明了支持的 Glob 模式语法及其匹配行为。每个示例都展示了一种特定的匹配类型、使用的模式以及针对测试字符串进行评估时的预期布尔结果。
| 匹配类型 | Glob 模式 | 测试字符串 | 匹配? |
|---|---|---|---|
| 简单通配符 | a/*.md |
a/page.md |
true |
| 字面匹配 | 'a/*.md' |
a/*.md |
true |
| 单层通配符 | a/*/page.md |
a/b/page.md |
true |
| 单层通配符 | a/*/page.md |
a/b/c/page.md |
false |
| 多层通配符 | a/**/page.md |
a/b/c/page.md |
true |
| 单字符 | file.??? |
file.txt |
true |
| 单字符 | file.??? |
file.js |
false |
| 分隔符排除 | ?at |
f/at |
false |
| 字符列表 | f.[jt]xt |
f.txt |
true |
| 否定列表 | f.[!j]xt |
f.txt |
true |
| 字符范围 | f.[a-c].txt |
f.b.txt |
true |
| 字符范围 | f.[a-c].txt |
f.z.txt |
false |
| 否定范围 | f.[!a-c].txt |
f.z.txt |
true |
| 模式交替 | *.{jpg,png} |
logo.png |
true |
| 无匹配 | *.{jpg,png} |
logo.webp |
false |
匹配逻辑遵循以下规则:
- 标准通配符(
*)匹配除分隔符之外的任何字符。 - 超级通配符(
**)匹配包括分隔符在内的任何字符。 - 单字符(
?)精确匹配一个字符,不包括分隔符。 - 否定(
!)在方括号内使用时,匹配除列表或范围中指定字符之外的任何字符。 - 字符范围(
[a-z])匹配指定范围内的任何单个字符。
分隔符是斜杠(/),但在匹配语义版本字符串时除外,此时分隔符是点号(.)。