Regex 使用正则表达式替换Go中的文本

Regex 使用正则表达式替换Go中的文本,regex,go,Regex,Go,我在Go中工作,我有一个文本文件,我想在其中替换基于正则表达式的文本,但即使我已经测试了正则表达式,并且它说有匹配项,它也不能像预期的那样工作 我在操场上做了一个基本的例子,我得到了同样的结果。我有3个标签相同的文本文件(/==start==和/==end=),第一个文件有效,第二个和第三个文件无效。如何避免正则表达式正确替换文本 这是我使用的代码,我粘贴了所有的字符串,因为我想确保它不会影响我 package main func main() { var re = regexp.

我在Go中工作,我有一个文本文件,我想在其中替换基于正则表达式的文本,但即使我已经测试了正则表达式,并且它说有匹配项,它也不能像预期的那样工作

我在操场上做了一个基本的例子,我得到了同样的结果。我有3个标签相同的文本文件(
/==start==和/==end=
),第一个文件有效,第二个和第三个文件无效。如何避免正则表达式正确替换文本

这是我使用的代码,我粘贴了所有的字符串,因为我想确保它不会影响我

package main

func main() {

    var re = regexp.MustCompile(Myregex)
    s := re.ReplaceAllLiteralString(originalString,"replaced")
    fmt.Println(s)

}

var Myregex = `\/\/==start==\n(.+\n)*\/\/==end==`

var originalString = `// @Author: someone
// @Date:   2018-01-23T16:46:09-04:00
// @Email:  dddddddd@gmail.com
// @Filename: _material.themes.scss
// @Last modified by:   Someone
// @Last modified time: 2018-01-23T18:40:39-04:00

@include angular-material-theme($theme);

.app-dark {
    @include angular-material-theme($dark-theme);
}

.app-pink {
    @include angular-material-theme($pink-theme);
}

//==start==
//==end==`

希望这对你有帮助

func main() {
    var re = regexp.MustCompile(Myregex)
    s := re.ReplaceAllString(originalString, "replaced")
    fmt.Println(s)
}

var Myregex = `//==start==\n.*\n//==end==`

请参见行动:请在问题正文中包含相关代码,而不是链接到它。@Adrian完成!我添加了所有字符串,以确保它不是问题的原因。感谢文本与regex101链接中的文本不同,因此Go示例中不存在匹配项。你也在那里使用pcre而不是Go。您可能还需要一个多行标志。@JimB my bad,我在中更新了内容regex101@SrednyMCasanova:同样,文本不相同,因此匹配无效。