我想解析一个字符串并获取两个引号内的子字符串
主题
query="tag1 tag2"
图案
query="([a-z ]*)"
结果
tag1 tag2
代码
package main
import (
"fmt"
"regexp"
)
var re = regexp.MustCompile(`query="([a-z ]*)"`)
func main() {
match := re.FindStringSubmatch(`query="tag1 tag2"`)
result := make(map[string]string)
for i, name := range re.SubexpNames() {
result[name] = match[i]
}
fmt.Printf("by name: %v\n", result)
}
http://play.golang.org/p/voKpOlcc8J
更新
细绳
query="tag1 tag2 tag3" foo="wee"
火柴 tag1 tag2 tag3
package main
import "fmt"
import "regexp"
func main() {
var str string = `query="tag1 tag2 tag3" foo="wee"`
re := regexp.MustCompile(`query="(([a-z0-9]+) ?)*"`)
match := re.FindStringSubmatch(str)
if len(match) == 0 {
fmt.Print("no matches")
} else {
result := make(map[string]string)
for i, name := range re.SubexpNames(){
result[name] = match[i]
}
fmt.Print(result)
}
}
http://play.golang.org/p/8vieH4eDd1
米琪卡哇伊
月关宝盒
相关分类