一尘不染

Golang:使用Regex提取数据

go

我正在尝试提取其中的任何数据${}

例如,从此字符串提取的数据应为abc

git commit -m '${abc}'

这是实际的代码:

re := regexp.MustCompile("${*}")
match := re.FindStringSubmatch(command)

但这行不通,知道吗?


阅读 331

收藏
2020-07-02

共1个答案

一尘不染

您需要转义${}在正则表达式中。

re := regexp.MustCompile("\\$\\{(.*?)\\}")
match := re.FindStringSubmatch("git commit -m '${abc}'")
fmt.Println(match[1])

Golang示范

在正则表达式中

$ <-- End of string
{} <-- Contains the range. e.g. a{1,2}

您也可以使用

re := regexp.MustCompile(`\$\{([^}]*)\}`)
2020-07-02