3 回答
TA贡献1998条经验 获得超6个赞
您可以提取整个标签字符串,然后提取Split()它。
package main
import (
"fmt"
"regexp"
"strings"
)
func main() {
var str string = `query="tag1 tag2 tag3" foo="wee"`
re := regexp.MustCompile(`query="(.+?)"`)
match := re.FindStringSubmatch(str)
if len(match) == 2 {
fmt.Println(strings.Split(match[1], " "))
}
}
输出: [tag1 tag2 tag3]
TA贡献1772条经验 获得超5个赞
首先,模式将与数字不匹配。您可能希望将其更改为:
var re = regexp.MustCompile(`query="(.*)"`)
然后,为了获取子字符串,您可以使用FindStringSubmatch:
match := re.FindStringSubmatch(`query="tag1 tag2"`)
if len(match) == 2 {
fmt.Printf("Found: [%s]\n", match[1])
} else {
fmt.Println("No match found", match)
}
输出:
找到:[tag1 tag2]
然后,为了将字符串拆分为单独的标签,我建议使用 strings.Split
- 3 回答
- 0 关注
- 222 浏览
添加回答
举报