想实现一个功能,比如有一段报警文本:
> "Alert: 服务挂了. Time: 现在."
接着我根据这个内容自定义一个模板:
> "Alert: ${content}. Time: ${alertTime}."
然后就可以将文本和模板进行比对解析出参数content和alertTime的值。
有没有现成的轮子能拿来用的。
用这个可以,只是`%s`匹配的前后要有空格字符。
![image.png](https://static.studygolang.com/210923/63e1c2205836ea9099aab88812a1e12d.png)
#4
更多评论
compile := regexp.MustCompile(`^Alert: (.*)\. Time: (.*)\.$`)
submatch := compile.FindStringSubmatch("Alert: 服务挂了. Time: 现在.")
fmt.Printf("content: %s, alertTime: %s", submatch[1], submatch[2])
可以看下Submatch的相关函数
#2