Skip to main content

Glob模式

在编程中匹配字符最常见的工具是正则表达式,此外还有一种 glob 模式经常用于匹配文件路径,glob 模式在某些方面与正则表达式功能相同,但是他们各自有着不同的语法和约定。

  • 在模式字符串中,* 匹配任何字符序列,? 匹配任何单个字符,[SET] 匹配指定集中的任何单个字符,[!SET] 匹配不在指定集中的任何字符。

  • 集合由字符或范围组成;范围看起来像字符连字符(如 0-9 或 AZ)。[0-9a-zA-Z_] 是 C 标识符中允许的字符集。模式中的任何其他字符都必须完全匹配。

*要抑制任何[]*?!-的特殊语法意义并精确匹配该字符,请在其前面添加反斜杠。

示例

通配符
描述示例匹配不匹配
*匹配0个或多个字符,包含空串Law*Law, Laws和LawerLa, aw
?匹配1个字符?atcat, batat
[abc]匹配括号内字符集合中的单个字符[cb]atcat, batat, bcat
[a-z]匹配括号内字符范围中的单个字符[a-z]ataat, bat, zatat, bcat, Bat
[^abc]或[!abc]匹配非括号内字符集合中的单个字符[!CB]atcat, batCat, Bat
[^a-z]或[!a-z]匹配非括号内字符范围中的单个字符[!A-Z]ataat, bat, zatAat, Bat, Zat