首页 > Go语言教程 > Go语言包(package)
阅读:795
Go语言正则表达式:regexp包
本节将为大家简单的介绍一下 Go语言中正则表达式的语法和使用的详细信息。在下面的程序里,我们将在字符串中对正则表达式进行匹配。
如果是简单模式,使用 Match 方法便可:
另外我们也可以使用 MustCompile 方法,它可以像 Compile 方法一样检验正则的有效性,但是当正则不合法时程序将 panic。
如果是简单模式,使用 Match 方法便可:
ok, _ := regexp.Match(pat, []byte(searchIn))
变量 ok 将返回 true 或者 false,我们也可以使用 MatchString:ok, _ := regexp.MatchString(pat, searchIn)
更多方法中,必须先将正则通过 Compile 方法返回一个 Regexp 对象。然后我们将掌握一些匹配,查找,替换相关的功能。package main import ( "fmt" "regexp" "strconv" ) func main() { //目标字符串 searchIn := "John: 2578.34 William: 4567.23 Steve: 5632.18" pat := "[0-9]+.[0-9]+" //正则 f := func(s string) string{ v, _ := strconv.ParseFloat(s, 32) return strconv.FormatFloat(v * 2, 'f', 2, 32) } if ok, _ := regexp.Match(pat, []byte(searchIn)); ok { fmt.Println("Match Found!") } re, _ := regexp.Compile(pat) //将匹配到的部分替换为 "##.#" str := re.ReplaceAllString(searchIn, "##.#") fmt.Println(str) //参数为函数时 str2 := re.ReplaceAllStringFunc(searchIn, f) fmt.Println(str2) }输出结果:
Match Found!
John: ##.# William: ##.# Steve: ##.#
John: 5156.68 William: 9134.46 Steve: 11264.36
另外我们也可以使用 MustCompile 方法,它可以像 Compile 方法一样检验正则的有效性,但是当正则不合法时程序将 panic。
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频