使用reg包正则匹配
```go
func main() {
str := "您好!您有一份来自${enterprise}的签署文件:https://xxx.net/${sign_url},请于收到短信后的48小时内点击以上链接完成相关合同签署。签署流程:https://xxx.net/${sign_flow_url}。如有疑问,请联系大区SSC。"
var p []string
var FieldRegex = regexp.MustCompile(`\${[a-zA-Z0-9-_.]+}`)
file := FieldRegex.ReplaceAllStringFunc(str, func(str string) (field string) {
p = append(p,str[2 : len(str)-1])
return
})
params, err := json.Marshal(&p)
if err != nil {
return
}
fmt.Println(string(params))
fmt.Println(file)
}
// 打印结果
["enterprise","sign_url","sign_flow_url"]
您好!您有一份来自的签署文件:https://pb.vanhr.net/,请于收到短信后的48小时内点击以上链接完成相关合同签署。签署流程:https://vanhr.net/。如有疑问,请联系大区SSC。
```
有疑问加站长微信联系(非本文作者))