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

发布时间 - 2026-01-10 22:37:17    点击率:

本文实例讲述了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./regex/javascript

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

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


# go语言  # 文件  # 正则表达式  # 搜索  # Go语言正则表达式用法实例小结【查找、匹配、替换等】  # Go语言正则表达式示例  # Go语言正则表达式的使用详解  # 一文带你全面掌握Go语言中的正则表达式  # Go语言实战之详细掌握正则表达式的应用与技巧  # 遍历  # 给大家  # 所述  # 命令行  # 搜索功能  # 再为  # 测试工具  # 讲述了  # tools  # args 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  使用Dockerfile构建java web环境  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  如何在局域网内绑定自建网站域名?  装修招标网站设计制作流程,装修招标流程?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何在香港免费服务器上快速搭建网站?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  如何快速搭建FTP站点实现文件共享?  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  在Oracle关闭情况下如何修改spfile的参数  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  如何在Windows虚拟主机上快速搭建网站?  javascript中闭包概念与用法深入理解  Laravel如何使用Vite进行前端资源打包?(配置示例)  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  lovemo网页版地址 lovemo官网手机登录  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  phpredis提高消息队列的实时性方法(推荐)  如何做网站制作流程,*游戏网站怎么搭建?  如何挑选高效建站主机与优质域名?  如何在服务器上配置二级域名建站?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  利用vue写todolist单页应用  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  打造顶配客厅影院,这份100寸电视推荐名单请查收  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Swift开发中switch语句值绑定模式  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel如何使用Livewire构建动态组件?(入门代码)  Android滚轮选择时间控件使用详解  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  百度浏览器如何管理插件 百度浏览器插件管理方法  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  如何登录建站主机?访问步骤全解析  如何在景安云服务器上绑定域名并配置虚拟主机?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  网站制作免费,什么网站能看正片电影?  常州企业网站制作公司,全国继续教育网怎么登录?  微信推文制作网站有哪些,怎么做微信推文,急?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Laravel如何配置Horizon来管理队列?(安装和使用)  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  如何在建站之星绑定自定义域名?  JS去除重复并统计数量的实现方法  canvas 画布在主流浏览器中的尺寸限制详细介绍  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID