gpt4 book ai didi

go - Golang正则表达式替换字符串

转载 作者:行者123 更新时间:2023-12-01 21:13:58 27 4
gpt4 key购买 nike

我正在尝试创建一个正则表达式来替换从文件读取的内容中的字符串

control_plane_ignition = <<END_OF_MASTER_IGNITION
{"ignition":"igntext"}
END_OF_MASTER_IGNITION

我要替换的代码:
masterContent := `new-igncontent`
var workerRe = regexp.MustCompile(`END_OF_MASTER_IGNITION\s(.*)\sEND_OF_MASTER_IGNITION`)
s = workerRe.ReplaceAllString(string(teraformtfvarContent), string(masterContent))

预期:
control_plane_ignition = <<END_OF_MASTER_IGNITION
new-igncontent
END_OF_MASTER_IGNITION

实际:
control_plane_ignition = <<new-igncontent

有人能帮我一下吗?

最佳答案

我认为您要执行的操作是用END_OF_MASTER_IGNITION替换以END_OF_MASTER_IGNITION开头并以masterContent结尾的字符串,所以这就是您所得到的。

如果要在替换字符串的两侧都包含END_OF_MASTER_IGNITION,则将获得所需的效果:

    control_plane_ignition := `<<END_OF_MASTER_IGNITION
{"ignition":"igntext"}
END_OF_MASTER_IGNITION`

masterContent := `new-igncontent`
workerRe := regexp.MustCompile(`END_OF_MASTER_IGNITION\n(.*)\nEND_OF_MASTER_IGNITION`)
s := workerRe.ReplaceAllString(string(control_plane_ignition),
"END_OF_MASTER_IGNITION\n" + masterContent + "\nEND_OF_MASTER_IGNITION")

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

PS:请注意我对正则表达式的细微更改,它不是您发布它的方式。

关于go - Golang正则表达式替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61162162/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com