我来自 Python,所以我可能只是没有以正确的方式看待这个问题。我想创建一个相当复杂的正则表达式,并能够访问按名称匹配的字段。我似乎找不到一个很好的例子。我设法得到的最接近的是:package mainimport ( "fmt" "regexp")var myExp = regexp.MustCompile(`(?P<first>\d+)\.(\d+).(?P<second>\d+)`)func main() { fmt.Printf("%+v", myExp.FindStringSubmatch("1234.5678.9")) match := myExp.FindStringSubmatch("1234.5678.9") for i, name := range myExp.SubexpNames() { fmt.Printf("'%s'\t %d -> %s\n", name, i, match[i]) } //fmt.Printf("by name: %s %s\n", match["first"], match["second"])}注释掉的行是我期望在 Python 中访问命名字段的方式。在 go 中执行此操作的等效方法是什么?或者,如果我需要将匹配项转换为地图,那么制作然后访问地图的最惯用的方法是什么?
3 回答
- 3 回答
- 0 关注
- 313 浏览
添加回答
举报
0/150
提交
取消