教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 在Go中使用正则表达式

在Go中使用正则表达式

发布时间:2022-03-05   编辑:jiaochengji.com
教程集为您提供在Go中使用正则表达式等资源,欢迎您收藏本站,我们将为您提供最新的在Go中使用正则表达式资源
<blockquote>“

本文将带大家了解一下在Go中如何使用正则表达式

”</blockquote><h1>一、演示案例</h1>

在这个案例中声明了常量text

然后使用了regexp这个包的regexp.Compile这个方法。

这种方式是不确定用户输入的值是否符合匹配规则。

当然也可以看到结果是返回了我们需要的数据。

但是在一般情况下,如果确定了用户输入的内容是正确的是完全符合的就可以使用下方案例。

在这个案例中可以看到regexp.MustCompile使用了这个方法,并且返回的值也是一样的。

这个方法没有返回错误,但是在自己的内部方法进行了异常处理。

根据注释可以得知使用这个方法给的参数表达式是不必须可以解析的,如果不能解析则就会抛出异常。

<h1>二、正则匹配</h1>

接下来我们使用正则进行匹配, 也就是在上图方法中进行正则表达式的匹配。

案例跟上图使用的一致都是用来匹配邮箱。

那么接下来先写第一版本。

可以看到返回结果就是我们想要的。

关于正则表达式的写法这部分内容在这里就说明了, 本文主要是针对go如何使用正则表达式。

此时就会反映出第一个问题,那就是FindString这个方法只能匹配一个值。

那如何匹配多个值呢!请看下方案例

<h1>三、匹配多个值</h1>

可以看到返回结果是将所有可以匹配的邮箱都给匹配了出来。

匹配多个值需要使用FindAllString这个方法。

第一个参数为匹配的字符,第二个参数是寻找多少个,-1是全找

在go中给提供了一种非常好的方式可以直接将邮箱名、邮箱域名、和邮箱后缀给提取出来,那么应该怎么做呢!

<h1>四、正则表达式提取内容</h1>

在这里就不能继续使用上述案例的方法了,需要使用FindAllStringSubmatch这个方法

在这个方法中可以得知返回的是一个二维的字符串,从上图的返回结果也可以得知返回的就是一个二维的字符串。

既然返回的是二维的字符串切片,那么我们就可以进行循环来获取每一个提取出来的内容。

可以看到返回了四个匹配,第一个就是完整的,后边的三个都是我们获取出来的内容。

<h1>五、总结</h1>

通过以上四个案例简单的了解一下在Go中如何使用正则表达式,进行了模拟了几个场景,和go中的正则表达式包的使用。

这个案例也算是对go的一个练习,没有多深的内容,主要就是关于正则包的使用,最重要的就是最后一个案例,这种正则表达式提取内容在爬虫的项目中是非常常见的。

<blockquote>“

坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。

”</blockquote>
到此这篇关于“在Go中使用正则表达式”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
在Go中使用正则表达式
正则表达式使用详解
正则表达式 模式匹配 Javascript
正则表达式在网络编程中的运用
正则regex的posix标准,gnu扩展以及PC兼容性
探讨:Javascript RegExp 对象
常用正则表达式的例子
PHP正则过滤文章中图片的方法
学习shell中的正则表达式
PHP正则取图片路径的例子

[关闭]
~ ~