Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How golang replace string by regex group? [duplicate]

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"\1 \2", "123abc123") # python code

So how do I implement this in golang?

like image 287
roger Avatar asked Apr 24 '17 10:04

roger


1 Answers

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.

like image 64
Ainar-G Avatar answered Sep 20 '22 14:09

Ainar-G