正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具。
GO语言通过regexp标准包为正则表达式提供了官方支持。GO实现的是RE2标准,详细语法参考http://code.google.com/p/re2/wiki/Syntax
使用正则表达式需要三个步骤:
1、需要有“regexp”包
2、解析规则
3、更具规则提取包
实战(定义正则表达式寻找"a.c"的数据 ):
package main
import (
"fmt"
"regexp"
)
func main() {
buf := "asd ase a8e aac 888 a9c tac"
//1)解析规则,他会解析正则表达式,如果成功返回解释器
reg1 := regexp.MustCompile("a.c")
reg1 = regexp.MustCompile("a[0-9]c")
if reg1 == nil { //解析失败,返回err
fmt.Println("err")
return
}
//2)根据规则提取关键信息
result1 := reg1.FindAllString(buf, -1)
fmt.Println("result1 =", result1)
}