Regex 字符串之间的Golang正则表达式替换

Regex 字符串之间的Golang正则表达式替换,regex,go,Regex,Go,我有以下几种可能形式的字符串: MYSTRING=${MYSTRING}\n MYSTRING=\n MYSTRING=randomstringwithvariablelength\n 我希望能够将其正则化为MYSTRING=foo,基本上替换MYSTRING=和\n之间的所有内容。我试过: re := regexp.MustCompile("MYSTRING=*\n") s = re.ReplaceAllString(s, "foo") 但它不起作用。感谢您的帮助 另外,\n表示为此目的

我有以下几种可能形式的字符串:

MYSTRING=${MYSTRING}\n
MYSTRING=\n
MYSTRING=randomstringwithvariablelength\n
我希望能够将其正则化为
MYSTRING=foo
,基本上替换
MYSTRING=
\n
之间的所有内容。我试过:

re := regexp.MustCompile("MYSTRING=*\n")
s = re.ReplaceAllString(s, "foo")
但它不起作用。感谢您的帮助


另外,
\n
表示为此目的有一个换行符。它实际上不在那里。

您可以使用

(MYSTRING=).*
并替换为
${1}foo
。看

在这里,
(MYSTRING=).*
匹配并捕获
MYSTRING=
子字符串(
${1}
将引用替换模式中的此值),并且
*
将匹配并使用除换行符以外的任何0+字符,直到行尾

见:

输出:

MYSTRING=foo
MYSTRING=foo
MYSTRING=foo

因此,这里需要3行
MYSTRING=foo
?是的。基本上,我想用我选择的字符串替换
MYSTRING=
\n
之间的所有内容。
MYSTRING=foo
MYSTRING=foo
MYSTRING=foo