- package main
-
- import (
- "fmt"
- "regexp"
- )
-
- func main() {
- buf := `
-
-
Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 -
-
-
-
-
-
-
-
- 测试1
- 测试2
- 你好
- 麦克
- 测试3
- 测试4
-
-
-
-
- `
- //1. 解析正则表达式
- //reg := regexp.MustCompile(`(.*)`) //+表示前一个字符1次或多次
- reg := regexp.MustCompile(`(?s:(.*?))`)
- if reg == nil {
- fmt.Println("reg = ", reg)
- return
- }
-
- //2. 提取关键信息
- s := reg.FindAllStringSubmatch(buf, -1) //-1表示匹配所有
- fmt.Println("s = ", s)
-
- //3. 过滤
- for _, data := range s {
- //fmt.Println("data[0] = ", data[0]) //带标签
-
- fmt.Println("data[1] = ", data[1]) //不带标签
- }
- }
- package main
-
- import (
- "fmt"
- "strconv"
- )
-
- func main() {
- //1. 字符串追加
- //转换位字符串后追加到字节数组
- slice := make([]byte, 0, 1024)
- slice = strconv.AppendBool(slice, true)
- //第二个数为要追加的数,第三个数指定十进制方式追加
- slice = strconv.AppendInt(slice, 1234, 10)
- slice = strconv.AppendQuote(slice, "go")
- fmt.Println("slice = ", string(slice))
-
- //bool转换为字符串
- var str string
- str = strconv.FormatBool(false)
-
- //float转换为字符串
- str = strconv.FormatFloat(3.1415, 'f', -1, 64)
-
- //整型转字符串
- str = strconv.Itoa(1234)
- fmt.Println("str = ", str)
-
- //字符串转其他类型
- flag, err := strconv.ParseBool("true")
- if err == nil {
- fmt.Println("flag = ", flag)
- } else {
- fmt.Println("err = ", err)
- }
-
- //字符串转换为整型
- a, err := strconv.Atoi("123")
- if err == nil {
- fmt.Println("a = ", a)
- } else {
- fmt.Println("err = ", err)
- }
- }
- package main
-
- import (
- "fmt"
- "regexp"
- )
-
- func main() {
- buf := "abc azc a2c qwe 888 ip9 bn5"
-
- //1.解析规则:会解析正则表达式 如果成功返回解析器
- //reg := regexp.MustCompile(`a.c`) //a开头 中间任意字符 c结尾
- //reg := regexp.MustCompile(`a[0-9]c`)
- reg := regexp.MustCompile(`a\dc`)
- if reg == nil {
- fmt.Println("reg = ", reg)
- return
- }
-
- //2.根绝规则提取关键信息
- s := reg.FindAllStringSubmatch(buf, -1) //-1表示匹配所有
- fmt.Println("s = ", s)
- }
- package main
-
- import (
- "fmt"
- "regexp"
- )
-
- func main() {
- buf := "2.13 12.12 2 1.2 5.6 12 acb"
-
- //1. 解析正则表达式
- reg := regexp.MustCompile(`\d+\.\d+`) //+表示前一个字符1次或多次
- if reg == nil {
- fmt.Println("reg = ", reg)
- return
- }
-
- //2. 提取关键信息
- s := reg.FindAllStringSubmatch(buf, -1) //-1表示匹配所有
- fmt.Println("s = ", s)
- }
- package main
-
- import (
- "fmt"
- "regexp"
- )
-
- func main() {
- buf := `
-
-
Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 -
-
-
-
-
-
-
-
- 测试1
- 测试2
- 你好
- 麦克
- 测试3
- 测试4
-
-
-
-
- `
- //1. 解析正则表达式
- //reg := regexp.MustCompile(`(.*)`) //+表示前一个字符1次或多次
- reg := regexp.MustCompile(`(?s:(.*?))`)
- if reg == nil {
- fmt.Println("reg = ", reg)
- return
- }
-
- //2. 提取关键信息
- s := reg.FindAllStringSubmatch(buf, -1) //-1表示匹配所有
- fmt.Println("s = ", s)
-
- //3. 过滤
- for _, data := range s {
- //fmt.Println("data[0] = ", data[0]) //带标签
-
- fmt.Println("data[1] = ", data[1]) //不带标签
- }
- }