go语言正则表达式怎么用
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,小编给大家分享一下go语言正则表达式怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!正则表达式处理使用到的库regex
千家信息网最后更新 2025年12月03日go语言正则表达式怎么用(.+) (.+) (.+) (.+) `) address = regexp.MustCompile(`(.+) `) telephone = regexp.MustCompile(`(.+) `) ) var ( respBody = ` `),``)) addressMatches := address.FindString(respBody)addre***st := strings.TrimSpace(strings.Trim(strings.Trim(addressMatches,` `),``))telephoneMatches := telephone.FindString(respBody)telephoneRst := strings.TrimSpace(strings.Trim(strings.Trim(telephoneMatches,` `),``)) (.+) ` 的意思是匹配以开头,以 结尾,中间匹配一次或多次除换行符之外的任何字符'.' 匹配除换行符(\n、\r)之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用像"(.|\n)"的模式。'+' 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
小编给大家分享一下go语言正则表达式怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
正则表达式处理使用到的库
regexp
使用到regexp库函数有
MustCompile 和 Compile
MustCompile 的作用和 Compile 一样, 将正则表达式编译成一个正则对象(使用 PERL 语法)。该正则对象会采用"leftmost-first"模式。选择第一个匹配结果.如果正则表达式语法错误,则返回错误信息。不同的是,当正则表达式 str 不合法时,MustCompile 会抛出异常,而 Compile 仅返回一个 error 值
FindString
返回匹配上正则表达式最左边的一个字符串,如果没有匹配上会返回空字符串
实践
例1 获取下面文本中的company(公司名称)、address(地址)、telephone(电话)
- 山东东阿阿胶股份有限公司
- 山东省东阿县阿胶街78号
- 0635-3262315
正则表达式
代码实现
package ... import ( ... "regexp" ... ) ... var ( company = regexp.MustCompile(`
- 山东东阿阿胶股份有限公司
- 山东省东阿县阿胶街78号
- 0635-3262315
讲解:
其中正则表达式 `
例2 将HTML标签全转换成小写
re, _ := regexp.Compile("\\<[\\S\\s]+?\\>")或者 re, _ = regexp.Compile(`\<[\S\s]+?\>`)respBody = re.ReplaceAllStringFunc(respBody, strings.ToLower)讲解:
匹配以'<'开头,以'\>'结尾,中间匹配一个或多个任意字符,而且尽可能少的匹配所搜索到的字符,因为?标示非贪婪模式 举个例子: 正则表达式`\<[\S\s]+?\>处理下面字符串 'nice ',返回结果' ' 而正则表达式`\<[\S\s]+\>处理下面字符串 ' nice ',返回接' nice '?当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
例3 去除STYLE
re, _ = regexp.Compile("\\`)respBody = re.ReplaceAllString(respBody, "")讲解:
同例2
例4 去除SCRIPT
re, _ = regexp.Compile("\\`)respBody = re.ReplaceAllString(respBody, "")讲解:
同例3
例5 去除所有尖括号内的HTML代码,并换成换行符
re, _ = regexp.Compile("\\<[\\S\\s]+?\\>")respBody = re.ReplaceAllString(respBody, "\n")讲解:
同例3
例6 去除连续的换行符
re, _ = regexp.Compile("\\s{1,}")respBody = re.ReplaceAllString(respBody, "\n")讲解:
{n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。例7 查找下面尾页数字15
尾页
代码:
allPage = regexp.MustCompile(`尾页`)allPagePrefix = regexp.MustCompile(`\x{5c3e}\x{9875}`)numPage = allPage.FindString(body)numPage = allPagePrefix.ReplaceAllString(numPage, "")numPage = allPageSuffix.ReplaceAllString(numPage, "")
匹配详解:
正则表达式尾页:
匹配以"尾页结尾,中间匹配若干个除换行外的任意字符或者中文字符
以上是"go语言正则表达式怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
字符
正则
表达式
字符串
模式
等价
贪婪
换行符
阿胶
东阿
山东
代码
公司
尽可能
篇文章
处理
搜索
语言
内容
单个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql 数据库 扩展名
忻州软件开发设计
台州杰讯网络技术有限公司
oracle 主从数据库
软件开发企业项目一般做什么
苹果手机怎么隐藏数据库
master数据库的信息
信息网络安全王耀发
k3 cloud 数据库
百度天津市网络安全公司
数据库累加和算法
手机网络安全防范建议正确的是
搭建网站服务器多少钱
那些中文数据库可以搜索文献
软件开发ppt主题
软件开发外包合同下载
cago正在检索服务器信息
南昌珠峰软件开发公司
幼儿园学校网络安全教育制度
翔太网络技术有限公司
北京市网络技术研究院
查询数据库所在盘符空间
阿里云香港轻量服务器双11优惠
qq软件开发商靠什么盈利
远程培训软件开发要点
昆山拼接服务器
互联网ios网络安全
号码服务器
航天联志服务器怎么做raid0
河南计算机网络技术单招试题