• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    go语言文件正则表达式搜索功能示例

    本文实例讲述了go语言文件正则表达式搜索功能。分享给大家供大家参考,具体如下:

    复制代码 代码如下:
    package main
    import (
        "fmt"
        "os"
        "path/filepath"
        "regexp"
    )
    func main() {
        // 命令行参数
        args := os.Args
        // 检查参数
        if len(args) == 1 {
            fmt.Println("ff is a file find tool. use like bottom")
            fmt.Println("ff [dir] [regexp]")
            return
        }
        if len(args) 3 {
            fmt.Println("args 3")
            return
        }
        fileName := args[1]
        pattern := args[2]
        file, err := os.Open(fileName)
        if err != nil {
            fmt.Println(err)
            return
        }
        fi, err := file.Stat()
        if err != nil {
            fmt.Println(err)
            return
        }
        if !fi.IsDir() {
            fmt.Println(fileName, " is not a dir")
        }
        reg, err := regexp.Compile(pattern)
        if err != nil {
            fmt.Println(err)
            return
        }
        // 遍历目录
        filepath.Walk(fileName,
            func(path string, f os.FileInfo, err error) error {
                if err != nil {
                    fmt.Println(err)
                    return err
                }
                if f.IsDir() {
                    return nil
                }
                // 匹配目录
                matched := reg.MatchString(f.Name())
                if matched {
                    fmt.Println(path)
                }
                return nil
            })
    }

    PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

    JavaScript正则表达式在线测试工具:
    http://tools.jb51.net/regex/javascript

    正则表达式在线生成工具:
    http://tools.jb51.net/regex/create_reg

    希望本文所述对大家Go语言程序设计有所帮助。

    您可能感兴趣的文章:
    • Go语言中TCP/IP网络编程的深入讲解
    • Go语言正则表达式用法实例小结【查找、匹配、替换等】
    • golang使用正则表达式解析网页
    • Go语言正则表达式示例
    • golang如何实现抓取IP地址的蜘蛛程序详解
    上一篇:Go语言正则表达式用法实例小结【查找、匹配、替换等】
    下一篇:Go并发编程实践
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    go语言文件正则表达式搜索功能示例 语言,文件,正则,表达式,