go 正则的使用

来源:互联网 发布:人工智能的龙头股 编辑:程序博客网 时间:2024/06/06 11:00
package utilsimport ("fmt""regexp""strings")func FilterEnv(s string, env map[string]interface{}) string {reg := regexp.MustCompile("\\$\\{(.+?)\\}")var getVal = func(key string) interface{} {val, ok := env[key]if ok {return val}return ""}keys := reg.FindAllStringSubmatch(s, -1)tmp := sfor _, key := range keys {tmp = strings.Replace(tmp, fmt.Sprintf("${%s}", key[1]), fmt.Sprintf("%v", getVal(key[1])), -1)}if tmp == "" {return s}return tmp}

原创粉丝点击