go语言正则表达式怎么用
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,小编给大家分享一下go语言正则表达式怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!正则表达式处理使用到的库regex
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
互联网科技股
盈实互联网科技
麻工互联网科技
互联网金融 科技金融
高科技与互联网
汇久创客互联网科技
广州紫鲸互联网科技
云创客互联网科技公司
农村开互联网科技讲堂
科技互联网的估值
互联网教育科技公司vipkid
互联网软件和科技
杭州壁岐互联网科技有限公司
青海科技产业互联网发展
长沙茂晟互联网科技有限公司
2021互联网科技公司排名
伍佰万互联网科技怎么赚钱
皮皮虾互联网科技有限公司
江苏互联网科技小贷
科技互联网专业工作会议发言稿
小米移动互联网科技园
科技互联网政务服务
互联网科技革命
移动互联网科技股
栖莱科技互联网股份有限公司
互联网科技股为什么大涨
广州燕处互联网科技有限公司
互联网科技大佬云集
安徽九吞吴互联网科技有限公司
小牛互联网科技有限公司地址