golang替换regexp的子字符串



我正在尝试查找以下正则表达式%%comp.[^%]+%%的所有出现,并将其替换为%comp.[^%]+%(即从两端减少1%(。

除了使用findallindex匹配和按相反顺序清理字符串之外,在go中最简单的方法是什么?

您可以使用Regexp.ReplaceAll方法。示例:

re := regexp.MustCompile(`%(%comp.([^%]+)%)%`)
fmt.Printf("%sn", re.ReplaceAll([]byte("test%%comp.test%%"), []byte("$1")))
>>> OUTPUT: test%comp.test%

注意,$n在替换字符串中用于扩展regexp中第n组的值。

最新更新