在go语言中用filepath.Match()函数以通配符模式匹配字符串示例
在go语言项目中实现类似Linux/Unix shells中常用的通配符模式来匹配字符串,
比如:*.go或*data[0-9]*。
示例代码:
package main
import (
"fmt"
"path/filepath"
)
func main() {
filename := "start.txt"
pattern := "*art*"
matched, err := filepath.Match(pattern, filename)
if err != nil {
fmt.Println(err)
}
fmt.Println(matched)
//---------------------------------
pattern = "*fart*"
matched, err = filepath.Match(pattern, filename)
if err != nil {
fmt.Println(err)
}
fmt.Println(matched)
//---------------------------------
filename = "data123.csv"
pattern = "data[0-9]*"
matched, err = filepath.Match(pattern, filename)
if err != nil {
fmt.Println(err)
}
fmt.Println(matched)
}
输出 :
true
false
true
注意
这个例子是用来匹配字符串的。对于当前或特定目录下的文件名。
如果你用path.Match()代替filepath.Match(),应该也能实现功能,有兴趣的你可以测一下。
相关文章