golang 使用 regex group 的值
与常用的语言正则不同, golang 使用 $1
表示 regex group
。 而类似 sed, python
中常用的是 \1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`([A-Z])`)
s := re.ReplaceAllString("UserCreate", ".$1")
fmt.Println(s) // .User.Create
}
func Test_Regexp(t *testing.T) {
chars := `('|")`
str := `"123'abc'456"`
re := regexp.MustCompile(chars)
s := re.ReplaceAllString(str, `\$1`) // 这里可以使用 ` 反引号
fmt.Println(s) // \"123\'abc\'456\"
}
// https://stackoverflow.com/questions/43586091/how-golang-replace-string-by-regex-group
|
1
2
3
| import re
name = re.sub(r'([A-Z])', r'.\1', "UserCreate")
print(name) # .User.Create
|