首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用正则表达式替换Go中的文本

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

Stack Overflow用户
提问于 2018-01-27 03:27:40
回答 1查看 9.4K关注 0票数 3

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

我在游乐场做了一个基本的例子,我得到了同样的结果。我有3个具有相同标签(//==start== and //==end==)的文本文件,它适用于第一个,但不适用于第二个和第三个。怎样才能避免使用正则表达式来正确替换文本?

https://play.golang.org/p/nZdHg5IfZ89

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

代码语言:javascript
运行
复制
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==`
EN

回答 1

Stack Overflow用户

发布于 2018-01-27 03:43:25

希望这能对你有所帮助

代码语言:javascript
运行
复制
func main() {
    var re = regexp.MustCompile(Myregex)
    s := re.ReplaceAllString(originalString, "replaced")
    fmt.Println(s)
}

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

请参阅实际操作:https://play.golang.org/p/GITAdHOOQOg

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48468247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档