go语言文件正则表达式搜索功能示例
本文实例讲述了go语言文件正则表达式搜索功能。分享给大家供大家参考,具体如下:
packagemain
import(
"fmt"
"os"
"path/filepath"
"regexp"
)
funcmain(){
//命令行参数
args:=os.Args
//检查参数
iflen(args)==1{
fmt.Println("ffisafilefindtool.uselikebottom")
fmt.Println("ff[dir][regexp]")
return
}
iflen(args)<3{
fmt.Println("args<3")
return
}
fileName:=args[1]
pattern:=args[2]
file,err:=os.Open(fileName)
iferr!=nil{
fmt.Println(err)
return
}
fi,err:=file.Stat()
iferr!=nil{
fmt.Println(err)
return
}
if!fi.IsDir(){
fmt.Println(fileName,"isnotadir")
}
reg,err:=regexp.Compile(pattern)
iferr!=nil{
fmt.Println(err)
return
}
//遍历目录
filepath.Walk(fileName,
func(pathstring,fos.FileInfo,errerror)error{
iferr!=nil{
fmt.Println(err)
returnerr
}
iff.IsDir(){
returnnil
}
//匹配目录
matched:=reg.MatchString(f.Name())
ifmatched{
fmt.Println(path)
}
returnnil
})
}
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述对大家Go语言程序设计有所帮助。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短