英文:
How golang replace string by regex group?
问题
我想在golang
中使用正则表达式组来替换字符串,就像在python
中一样:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`(\d.*?)[a-z]+(\d.*?)`)
str := re.ReplaceAllString("123abc123", "$1 $2")
fmt.Println(str)
}
在golang
中,你可以使用regexp
包来进行正则表达式的操作。首先,你需要使用regexp.MustCompile
函数来编译你的正则表达式。然后,你可以使用ReplaceAllString
方法来替换匹配到的字符串。在替换字符串中,你可以使用$1
和$2
来引用第一个和第二个捕获组的内容。以上是一个简单的示例代码,你可以根据自己的需求进行修改和扩展。
英文:
I want to use regex group to replace string in golang
, just like as follow in python
:
re.sub(r"(\d.*?)[a-z]+(\d.*?)", r" ", "123abc123") # python code
So how do I implement this in golang?
答案1
得分: 22
使用$1
,$2
等进行替换。例如:
re := regexp.MustCompile(`(foo)`)
s := re.ReplaceAllString("foo", "$1$1")
fmt.Println(s)
Playground: https://play.golang.org/p/ZHoz-X1scf.
文档:https://golang.org/pkg/regexp/#Regexp.ReplaceAllString。
英文:
Use $1
, $2
, etc in replacement. For example:
re := regexp.MustCompile(`(foo)`)
s := re.ReplaceAllString("foo", "$1$1")
fmt.Println(s)
Playground: https://play.golang.org/p/ZHoz-X1scf.
Docs: https://golang.org/pkg/regexp/#Regexp.ReplaceAllString.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论