go基础库之通过正则表达式模式查找文本中的子字符串

栏目: Go · 发布时间: 4年前

内容简介:总是有一些任务,例如输入验证,在文档中搜索任何信息,甚至从不需要的转义字符中清除给定的字符串。对于这些情况,通常可以使用正则表达式。

总是有一些任务,例如输入验证,在文档中搜索任何信息,甚至从不需要的转义字符中清除给定的字符串。对于这些情况,通常可以使用正则表达式。

通过正则表达式模式查找文本中的子字符串

Golang 版本

1.12.1

前言

总是有一些任务,例如输入验证,在文档中搜索任何信息,甚至从不需要的转义字符中清除给定的字符串。对于这些情况,通常可以使用正则表达式。

实现

package main

import (
	"fmt"
	"regexp"
)

const refString = `[{ \"email\": \"email@example.com\" \
                             "phone\": 555467890},
                            { \"email\": \"other@domain.com\" \
                             "phone\": 555467890}]`

func main() {

	// 为简洁起见,简化了这种模式
	emailRegexp := regexp.MustCompile("[a-zA-Z0-9]{1,}@[a-zA-Z0-9]{1,}\\.[a-z]{1,}")
	first := emailRegexp.FindString(refString)
	fmt.Println("First: ")
	fmt.Println(first)

	all := emailRegexp.FindAllString(refString, -1)
	fmt.Println("All: ")
	for _, val := range all {
		fmt.Println(val)
	}

}
$ go run regexp.go
First: 
email@example.com
All: 
email@example.com
other@domain.com

原理

FindStringFindAllString 函数是查找给定字符串中匹配模式的最简单方法。唯一的区别是 RegexpFindString 方法只返回首个。另一方面, FindAllString ,顾名思义,返回所有出现的字符串片段。

Regexp 类型提供了一组丰富的 FindXXX 方法。本篇只描述通常最有用的字符串变体。注意,前面的代码使用 regexp 包的 MustCompile 函数,如果正则表达式的编译失败,该函数将引发恐慌。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

R语言实战

R语言实战

卡巴科弗 (Robert I.Kabacoff) / 高涛、肖楠、陈钢 / 人民邮电出版社 / 2013-1 / 79.00元

数据时代已经到来,但数据分析、数据挖掘人才却十分短缺。由于“大数据”对每个领域的决定性影响, 相对于经验和直觉,在商业、经济及其他领域中基于数据和分析去发现问题并作出科学、客观的决策越来越重要。开源软件R是世界上最流行的数据分析、统计计算及制图语言,几乎能够完成任何数据处理任务,可安装并运行于所有主流平台,为我们提供了成千上万的专业模块和实用工具,是从大数据中获取有用信息的绝佳工具。  本书从解决......一起来看看 《R语言实战》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具