golang字符串正则匹配
时间: 2023-09-27 09:12:17 浏览: 272
在Go语言中,可以使用正则表达式进行字符串的匹配操作。下面是几个在golang中使用正则表达式进行字符串匹配的例子:
1. 使用`(?U)^.* `正则表达式来查找从行首开始,以空格结尾的字符串(非贪婪模式)。
```go
reg := regexp.MustCompile(`(?U)^.* `)
result := reg.FindAllString(text, -1)
fmt.Printf("%q\n", result) // ["Hello "]
```
2. 使用`(?U)^H.*\s`正则表达式来查找行首以 H 开头,以空白结尾的字符串(非贪婪模式)。
```go
reg := regexp.MustCompile(`(?U)^H.*\s`)
result := reg.FindAllString(text, -1)
fmt.Printf("%q\n", result) // ["Hello "]
```
3. 使用`[^ ]{1,4}o`正则表达式来查找连续 1 次到 4 次的非空格字符,并以 o 结尾的字符串。
```go
reg := regexp.MustCompile(`[^ ]{1,4}o`)
result := reg.FindAllString(text, -1)
fmt.Printf("%q\n", result) // ["Hello" "Go"]
```
4. 使用`(?i:^hello).*Go`正则表达式来查找以 hello 开头(忽略大小写),以 Go 结尾的字符串。
```go
reg := regexp.MustCompile(`(?i:^hello).*Go`)
result := reg.FindAllString(text, -1)
fmt.Printf("%q\n", result) // ["Hello 世界!123 Go"]
```
以上是一些golang字符串正则匹配的例子,可以根据具体需求使用不同的正则表达式来进行匹配操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文