在 Go 中使用正则表达式检索字符串匹配
在 Go 中,regexp 包提供了根据正则在字符串中搜索匹配项的功能表达式。本指南说明如何从给定字符串中提取匹配数组,这些字符串包含用大括号括起来的特定段。
问题:
您有一个包含以下内容的字符串模式:
{city}, {state} {zip}
您的目标是获得一个包含大括号之间出现的所有子字符串的数组。尽管使用了 regexp 包,但您在实现所需的输出时遇到了困难。
解决方案:
要解决此问题,请考虑以下步骤:
要检索所有匹配项,请使用 FindAllString:
r := regexp.MustCompile(`{[^{}]*}`) matches := r.FindAllString("{city}, {state} {zip}", -1)
仅捕获卷曲之间的部分大括号,使用 FindAllStringSubmatch 以及包含捕获括号的模式:
r := regexp.MustCompile(`{([^{}]*)}`) matches := r.FindAllStringSubmatch("{city}, {state} {zip}", -1) for _, v := range matches { fmt.Println(v[1]) }
Regex细分:
以上是如何使用 Go 的 regexp 包提取大括号内的字符串匹配?的详细内容。更多信息请关注PHP中文网其他相关文章!