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 關注
- 249 瀏覽
添加回答
舉報