登录
首页 >  Golang >  Go问答

使用golang正则表达式获取引号和斜杠之间的文本

来源:stackoverflow

时间:2024-02-12 12:54:24 255浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《使用golang正则表达式获取引号和斜杠之间的文本》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我的字符串:

12345:cluster/ecs52v-usw2-tst",
12345:cluster/test32-euw1-stg",

我正在寻找的输出是:

ecs52v-usw2-tst

test32-euw1-stg

我有多个集群名称,我试图在切片中捕获它们 我已经在 ruby​​ (?<=\/)(.*(tst|stg|prd))(?=") 中得到了它,但我在 golang 中遇到了麻烦。 https://go.dev/play/p/dyyr3igu2cf


正确答案


您可以使用 FindAllStringSubmatch 查找所有子匹配。

func main() {
    var re = regexp.mustcompile(`(?mi)(/(.*?)")`)
    var str = `cluster/ecs52v-usw2-tst",
cluster/ecs52v-usw2-stg",
cluster/ecs52v-usw2-prd",`

    matches := re.findallstringsubmatch(str, -1)
    for _, match := range matches {
        fmt.printf("val = %s \n", match[2])
    }
}

输出

val = ecs52v-usw2-tst 
val = ecs52v-usw2-stg 
val = ecs52v-usw2-prd

https://go.dev/play/p/_LRVYaM2r7z

今天关于《使用golang正则表达式获取引号和斜杠之间的文本》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>