首页 > 解决方案 > golang替换正则表达式的子字符串

问题描述

我试图找到以下正则表达式的所有出现\%\%comp\.[^%]+\%\%并将它们替换为\%comp\.[^%]+\%(即从两端减少 1%)。

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

标签: regexgo

解决方案


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

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

>>> OUTPUT: test%comp.test%

请注意,它$n用于替换字符串以扩展正则表达式中第 n 组的值。


推荐阅读