Golangで変数内のメタ文字をエスケープさせる場合、「regexp.QuoteMeta()」で行える。 例えば、以下のようにすることでメタ文字である「[」や「+」をエスケープする。
package main
import (
"fmt"
"regexp"
)
func main() {
str := "a[b+c=\\"
fmt.Println(str)
fmt.Println(regexp.QuoteMeta(str))
}
上のコードを実行した結果が以下。
blacknon@blacknon-ThinkPad-X201:~$ go run ./test.go
a[b+c=\
a\[b\+c=\\