小编Ran*_*man的帖子

Golang正则表达式命名组和子匹配项

我试图匹配一个正则表达式,并获取匹配的捕获组名称。当正则表达式仅与字符串匹配一次,但如果它与字符串匹配一次以上,SubexpNames则不返回重复的名称,则此方法有效。

这是一个例子:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile("(?P<first>[a-zA-Z]+) ")
    fmt.Printf("%q\n", re.SubexpNames())
    fmt.Printf("%q\n", re.FindAllStringSubmatch("Alan Turing ", -1))
}
Run Code Online (Sandbox Code Playgroud)

输出为:

["" "first"]
[["Alan " "Alan"] ["Turing " "Turing"]]
Run Code Online (Sandbox Code Playgroud)

是否可以获取每个子匹配项的捕获组名称?

regex go

5
推荐指数
2
解决办法
2703
查看次数

标签 统计

go ×1

regex ×1