主页 > 知识库 > go语言文件正则表达式搜索功能示例

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

热门标签:Linux服务器 呼叫中心市场需求 铁路电话系统 服务外包 AI电销 网站排名优化 地方门户网站 百度竞价排名

本文实例讲述了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语言文件正则表达式搜索功能示例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266