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语言程序设计有所帮助。
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短