go语言中regexp
时间: 2023-10-29 13:05:58 浏览: 58
在Go语言中,可以使用正则表达式来匹配字符串。有几种不同的方法可以实现这一点。其中一种方法是使用`regexp.Match`函数。这个函数接受两个参数,第一个参数是正则表达式,第二个参数是要匹配的字符串。它返回一个布尔值,表示是否匹配成功。例如,可以使用以下代码来匹配字符串"Hello World!"是否以"H"开头并以"!"结尾:
```go
match, _ := regexp.Match("H(.*)!", \[\]byte("Hello World!"))
fmt.Println(match) // true
```
另一种方法是使用`regexp.Compile`函数。这个函数接受一个正则表达式作为参数,并返回一个`*regexp.Regexp`对象。然后,可以使用这个对象的`MatchString`方法来匹配字符串。例如,可以使用以下代码来匹配字符串"Hello World!"是否以"H"开头并以"!"结尾:
```go
compile, _ := regexp.Compile("H(.*)!")
compileMatch := compile.MatchString("Hello World!")
fmt.Println(compileMatch) // true
```
还有一种方法是使用`regexp.MatchString`函数。这个函数接受两个参数,第一个参数是正则表达式,第二个参数是要匹配的字符串。它返回一个布尔值,表示是否匹配成功。例如,可以使用以下代码来匹配字符串"Hello World!"是否以"H"开头并以"!"结尾:
```go
match, _ := regexp.MatchString("H(.*)!", "Hello World!")
fmt.Println(match) // true
```
以上是Go语言中使用正则表达式匹配字符串的几种方法。可以根据具体的需求选择合适的方法来进行字符串匹配。
#### 引用[.reference_title]
- *1* *2* *3* [Go语言标准库之regexp](https://blog.csdn.net/aaronthon/article/details/108163167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]