如何使用正则来匹配出自己想要的子字符串,我封装了个小函数
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/(.*?)\\]")