首页 > 解决方案 > 排除 RegExp 匹配 Golang 中的模式

问题描述

我需要在 Golang 中为 Google Data Studio 中的仪表板提取部分字符串。这是字符串:

ABC - What I need::Other Information I do not need

为了得到连字符和第一个冒号之间的部分,我尝试过([\\-].*[\\:]),其中包括连字符和冒号。

对于更有经验的 RegExp 用户来说,这可能是一个简单的问题,但我如何只匹配中间的单词?

标签: regexgogoogle-data-studiore2

解决方案


你可以使用这个:

-(.*?):

这里第一个捕获组是您想要的结果。 例子

样本来源:(在这里运行

package main

import (
    "fmt"
    "regexp"
)

func main() {
    var re = regexp.MustCompile(`(?m)-(.*?):`)
    var str = `ABC - What I need::Other Information I do not need`
    rs:=re.FindStringSubmatch(str)
    fmt.Println(rs[1])

}

推荐阅读