除了常见的正则表达式之外,还有一种 glob 模式经常用于匹配文件路径,相比正则来说更加简单,匹配效率也要更高一些,所以,在某些方面可以替换掉正则。
简介
最初是贝尔实验室 Unix 系统上的一个名叫 glob 的命令,是 global 的缩写,用于展开命令行中的通配符,后来系统提供了该功能的 C 语言库函数 glob()
,于是很多 shell 解释器就使用了该接口。
GoLang
在 GoLang 中可以通过 path/filepath
实现相应的功能。
package main
import (
"fmt"
"path/filepath"
)
func main() {
if val, err := filepath.Match("*", "test"); err == nil {
fmt.Println(val, err)
}
}
在 Github 上有个三方包 github.com/gobwas/glob 也可以满足诉求,该包的匹配符合 Standard Wildcards 语法。