删除正则表达式戈朗中第一次出现的匹配项

我有以下字符串:


new k8s.KubeRoleBinding(this, "argocd-application-controller", {

    kind: "RoleBinding",

    metadata: {

        labels: {

            "app.kubernetes.io/component": "application-controller",

            "app.kubernetes.io/name": "argocd-application-controller",

            "app.kubernetes.io/part-of": "argocd",

        },

        name: "argocd-application-controller",

    },

    roleRef: {

        apiGroup: "rbac.authorization.k8s.io",

        kind: "Role",

        name: "argocd-application-controller",

    },

    subjects: [{

        kind: "ServiceAccount",

        name: "argocd-application-controller",

    }],

});

ID 喜欢删除第一次出现kind:


到目前为止,我尝试了以下内容,但它删除了所有出现的情况。


    re := regexp.MustCompile("(?m)[\r\n]+^.*kind.*$")

    res := re.ReplaceAllString(str, "$1")

带代码的游乐场链接 : https://play.golang.org/p/SMiyTJvKNVF


通缉字符串 :


new k8s.KubeRoleBinding(this, "argocd-application-controller", {

    metadata: {

        labels: {

            "app.kubernetes.io/component": "application-controller",

            "app.kubernetes.io/name": "argocd-application-controller",

            "app.kubernetes.io/part-of": "argocd",

        },

        name: "argocd-application-controller",

    },

    roleRef: {

        apiGroup: "rbac.authorization.k8s.io",

        kind: "Role",

        name: "argocd-application-controller",

    },

    subjects: [{

        kind: "ServiceAccount",

        name: "argocd-application-controller",

    }],

});


慕容森
浏览 145回答 1
1回答

茅侃侃

找到第一个匹配项的位置。使用字符串切片操作删除匹配项。loc := re.FindStringIndex(str)res := strif loc != nil {    res = str[:loc[0]] + str[loc[1]:]}在操场上运行该示例。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go