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