:GO语言读取记事本,使用正则表达式,过滤相应的数据,采用分组进行获取分组数据信息

重要知识点:

 guizestr:=`([A-Z]\d{1,3})(.*)(10.\d+\.\d+\.\d{1,3})`//guizestr:="([A-Z]\d{1,3})(.*)(10.\d+\.\d+\.\d{1,3})"re:=regexp.MustCompile(guizestr)ret:=re.FindStringSubmatch(strfid)  //正确的做法,可以获取到数据,获取正则表达式中的分组信息,也就是‘()’内的信息,分组信息,第0个就是所有匹配的信息,第一,第二...就是获取的分组内容信息//retnew:=re.FindAllStringSubmatch(strfid) //测试用法,目前不成功c这个目前没有获取到数据,正在分析中....

读取文件的函数,获取其中的每一行数据:

func readisreg(path string){fileobj,err:=os.Open(path)    //打开文件if err!=nil{panic(err)}defer fileobj.Close()fread:=bufio.NewReader(fileobj)for{line,_,err:=fread.ReadLine()   //line读取的文件的每一行数据line []byte--->格式的if err==io.EOF{break}strfid:=string(line)   //需要强制转码为字符串格式

整体代码:

func readisreg(path string){fileobj,err:=os.Open(path)    //打开文件if err!=nil{panic(err)}defer fileobj.Close()fread:=bufio.NewReader(fileobj)for{line,_,err:=fread.ReadLine()if err==io.EOF{break}strfid:=string(line)//D1XX一路西口-1-251.251.200.18718000弱不在线(网络异常)DEV
//D2XX一路西口-1-210.251.200.18818000弱不在线(网络异常)DEV
//D3XX一路西口-1-310.251.200.18918000弱不在线(网络异常)DEV
//D4XX一路西口-2-251.251.200.19018000弱不在线(网络异常)DEV
//guizestr:=`([A-Z]\d{1,3})(.*)(10.\d+\.\d+\.\d{1,3})`guizestr:=`([A-Z]\d{1,3})(.*)(10.\d+\.\d+\.\d{1,3})`//guizestr:="([A-Z]\d{1,3})(.*)(10.\d+\.\d+\.\d{1,3})"re:=regexp.MustCompile(guizestr)ret:=re.FindStringSubmatch(strfid)  //正确的做法,可以获取到数据//[D1xx一路西口-1-110.251.200.187 D1 xx一路西口-1-1 10.110.12.187]---获取的结果all:=ret[0]   //0--代表所有数据id:=ret[1]   //第一个分组内容address:=ret[2]  //第二个分组内容ip:=ret[3]    //第三个分组内容//fmt.Println(all)//fmt.Println(id)//fmt.Println(address)//fmt.Println(ip)fmt.Printf("alldata:%v",all)fmt.Println()fmt.Printf("id:%v\t,address:%v\t,ip:%v",id,address,ip)fmt.Println()//fmt.Println(ret)}func main() {readisreg("E:/htcode/go/src/lab/lab1/labs.txt")}

labs.txt内容;

//D1XX一路西口-1-251.251.200.18718000弱不在线(网络异常)DEV
//D2XX一路西口-1-210.251.200.18818000弱不在线(网络异常)DEV
//D3XX一路西口-1-310.251.200.18918000弱不在线(网络异常)DEV
//D4XX一路西口-2-251.251.200.19018000弱不在线(网络异常)DEV

go语言--正则表达式过滤数据--通过文件获取数据相关推荐

  1. VS语音信号处理(2) C语言分段读取WAV语音文件语音数据

    VS语音信号处理(2) C语言分段读取WAV语音文件语音数据 前言 一. 工程实现 二. 结果 三. 小结 前言 语音识别相关算法一般在MATLAB上进行仿真验证与实验,在工程上一般还是在VS中进行实 ...

  2. 北理工嵩天Python语言程序设计笔记(8 文件和数据格式化)

    前言 本文是对<北理工 嵩天/黄天宇/礼欣 Python语言程序设计>的学习笔记,供自己查阅使用. 文章目录 北理工嵩天Python语言程序设计笔记(目录) 北理工嵩天Python语言程序 ...

  3. ajax请求数据 ztree_ajax 异步获取数据填充到表格显示(ajax) 文档(Options API) DataTables中文网...

    描述(Description) 使用这个参数可以让 DataTables 像使用jQuery ajax 一样从一个数据源获取数据,最终获取到返回的数据 来显示表格,DataTables 支持 Java ...

  4. FTP服务器获取文件,并解析GRB2文件获取数据

    1.连接FTP服务器 package Grib2Test; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons ...

  5. Android解析xml文件获取数据练习

    前几天单词app中,已经可以显示单词了,对比有道词典的单词表,主要是有单词备注的功能,可以进行联想记忆,而且程序占用空间小,没有太多的通知信息. 以前使用有道词典的单词保存了一些单词,有道里的单词可以 ...

  6. python读取20万数据Excel文件+拆分数据

    python读取20万数据Excel文件 使用普通的pandas读取Excel,再结合xlrd读取,可能会读取的Excel数据会不全,最多只能读取到65535+行的数,如果读取超大excel数据时就读 ...

  7. element excel导入数据,解析获取数据

    前端导入excel表格,解析为json格式数据 npm install xlsx -g 全局安装xlsx 新建一个组件,随意命名,键入以下代码,复制即可用 <template><sp ...

  8. fox pro删除单条数据_Mac文件夹数据同步工具——Sync Folders Pro

    Mac版同步文件夹Pro(文件夹数据同步工具)分享给大家!Mac版同步文件夹Pro是一种功能强大的文件夹数据同步工具,可帮助您同步两一个文件夹的内容,包括任何子文件夹.使用文件夹同步软件,允许您在任一 ...

  9. MySQL入门笔记(五):另存数据为文件(导出数据)

    在select查询数据之后,要把结果数据保存到文件里,则需要另存数据为文件的操作,即导出数据 mysql> select user,host into outfile 'out.csv' fie ...

  10. ajax读取数据失败,ajax 获取数据失败

    1.想获取后台数据,但是前台调用不到,自己写了一个简单测试还是获取不到数据,直接提示数据加载失败 $(document).ready(function(e) { $("#submit&quo ...

最新文章

  1. java speex回声消除_speex 回声消除的用法
  2. java plc通讯_树莓派+西门子PLC+Aliyun
  3. C#调用Mail发送QQ邮件
  4. android meta data值获取的坑
  5. LVS-DR模式原理
  6. 【渝粤题库】广东开放大学 计算机应用基础(本) 形成性考核
  7. 作者:刘剑(1979-),男,中国联合网络通信集团有限公司信息化事业部项目一处工程师...
  8. SAP License:雾里看花系列——弃用SAP是小企业无奈的选择
  9. 修改配置_iMC服务器修改IP地址的配置
  10. JAVA 实现汉字五行笔画查询
  11. 5G网络切片技术解析,一文让你读懂5G切片
  12. 怎么清除DNS缓存?
  13. 单片机控制光耦开关继而控制电机转动
  14. 浮点数转换为大写货币金额
  15. 什么是供应链管理及其重要性?
  16. CocoaPods出现The dependency `` is not used in any concret错误的解决方法
  17. Hi3516EV200图像调优
  18. 通达OA短信平台,通达OA完美对接中国移动MAS短信平台
  19. SCHNOKA施努卡:扁线电机定子生产过程中PIN线圈成型
  20. Builder设计模式构建NavigationBar

热门文章

  1. moss 搜索 属性过滤 值被移除了
  2. 杭电acm2028 Lowest Common Multiple Plus
  3. a=a++问题引发的思考
  4. swift中Any,AnyObject,AnyClass的区别
  5. SpringMVC基础配置
  6. 《软件测试》实验一:测试入门
  7. MyEclipse部署,将一个项目引入到两个项目;多项目部署
  8. flex知識:container of spark
  9. 从零基础入门Tensorflow2.0 ----八、43. 自定义流程分布式
  10. 【opencv】visualstudio实现opencvblobslib编译