函数声明
func Match(pattern, name string) (matched bool, err error)
函数作用
如果name匹配shell文件名模式匹配字符串,Match函数返回真(注意:Match要求匹配整个name字符串,不是它的一部分。如果pattern语法错误时,会返回"syntax error in pattern"的错误)
可用的匹配字符如下:
'*' 匹配0或多个非/的字符 '?' 匹配1个非/的字符 '[' [ '^' ] { character-range } ']' 字符组(必须非空)(支持三种格式[abc],[^abc],[a-c]) c 匹配字符c(c != '*', '?', '\\', '[') '\\' c 匹配字符c(可上面c的区别是 可以支持字符 * ? \\ [的匹配)
测试实例
* 字符测试实例
//* 匹配0或多个非/的字符
path.Match("*", "a") // true
path.Match("*", "sefesfe/") // false
? 字符测试实例
//?匹配一个非/的字符
path.Match("a?b", "aab") // true
path.Match("a?b", "a/b") // false
[] 格式测试实例
path.Match("[abc][123]", "b2") // true
path.Match("[abc][1-3]", "b2") // true
path.Match("[abc][^123]", "b2") // false
path.Match("[abc][^123]", "b4") // true
字符或者特殊用途字符( \\ ? * [ )测试实例
path.Match("a\\\\", "a\\") // true
path.Match("a\\[", "a[") // true
path.Match("a\\?", "a?") // true
path.Match("a\\*", "a*") // true
path.Match("abc", "abc") // true