HUGO
Menu
GitHub 87548 stars Mastodon

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])匹配指定范围内的任何单个字符。

分隔符是斜杠(/),但在匹配语义版本字符串时除外,此时分隔符是点号(.)。


Last updated: January 1, 0001
Improve this page