我在 Go 中工作,我有一个文本文件,我想在其中替换基于正则表达式的文本,但是即使我已经在这里测试了正则表达式并且它说存在匹配,它也没有按预期工作。
我在操场上做了一个基本的例子,我得到了同样的结果。我有 3 个具有相同标签 ( //==start== and //==end==) 的文本文件,它适用于第一个,但不适用于第二个和第三个。什么可以避免正则表达式正确替换文本?
https://play.golang.org/p/nZdHg5IfZ89
这是我使用的代码,我粘贴了所有字符串,因为我想确保它不是影响我的那个
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==`
Run Code Online (Sandbox Code Playgroud)
aer*_*ite 11
希望能帮到你
func main() {
var re = regexp.MustCompile(Myregex)
s := re.ReplaceAllString(originalString, "replaced")
fmt.Println(s)
}
var Myregex = `//==start==\n.*\n//==end==`
Run Code Online (Sandbox Code Playgroud)
见实战:https : //play.golang.org/p/GITAdHOOQOg