为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕容森 2022-09-26 20:19:50
我有以下字符串: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",    }],});
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

找到第一个匹配项的位置。使用字符串切片操作删除匹配项。


loc := re.FindStringIndex(str)

res := str

if loc != nil {

    res = str[:loc[0]] + str[loc[1]:]

}

在操场上运行该示例


查看完整回答
反对 回复 2022-09-26
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信