登录
首页 >  Golang >  Go教程

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

来源:脚本之家

时间:2023-01-10 12:37:40 500浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《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)         fmt.Println("args         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语言程序设计有所帮助。

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《go语言文件正则表达式搜索功能示例》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表