如何使用正则来匹配出自己想要的子字符串,我封装了个小函数

func GetOneStringByRegex(str, rule string) (string, error) {
    reg, err := regexp.Compile(rule)
    if reg == nil || err != nil {
        return "", errors.New("正则Compile错误:" + err.Error())
    }
    //提取关键信息
    result := reg.FindStringSubmatch(str)
    if len(result) < 1 {
        return "", errors.New("没有获取到子字符串")
    }
    return result[1], nil
}

使用案例:

我从img[/static/upload/xxxx/xxx.jpg中获取xxxx/xxx.jpg

    url, _ = GetOneStringByRegex(str, "img\\[.*?/static/upload/(.*?)\\]")