gpt4 book ai didi

regex - 如何匹配单词之间的短语

转载 作者:行者123 更新时间:2023-12-01 22:22:32 26 4
gpt4 key购买 nike

我试图只捕获 用户上下文 从下面的代码块。所以简而言之,我想要 repo_ 和 _tag 之间的所有内容,请发送示例。

package main

import (
"regexp"
"fmt"
)

func main() {
var re = regexp.MustCompile(`repo_(.*)_tag`)
var str = `#gitflow
variable "repo_user-context_tag" {
default = "blah"
}

#gitflow
variable "repo_user-office_tag" {
default = "blah"
}
`

for _, match := range re.FindAllString(str, -1) {
fmt.Println(match)
}
}

输出:
repo_user-context_tag
repo_user-office_tag

最佳答案

您的正则表达式没有任何问题。问题是您使用错误的函数来查看您正在寻找的子字符串匹配。

而不是 FindAllString , 你需要 FindAllStringSubmatch :

package main

import (
"regexp"
"fmt"
)

func main() {
var re = regexp.MustCompile(`repo_(.*)_tag`)
var str = `#gitflow
variable "repo_user-context_tag" {
default = "blah"
}

#gitflow
variable "repo_user-office_tag" {
default = "blah"
}
`

for _, match := range re.FindAllStringSubmatch(str, -1) {
fmt.Println(match[1])
}
}

on the playground .

输出:
user-context
user-office

关于regex - 如何匹配单词之间的短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62275101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com