当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO Regexp.SubexpIndex用法及代码示例


GO语言"regexp"包中"Regexp.SubexpIndex"类型的用法及代码示例。

用法:

func(re *Regexp) SubexpIndex(name string) int

SubexpIndex 返回具有给定名称的第一个子表达式的索引,如果没有具有该名称的子表达式,则返回 -1。

请注意,可以使用相同的名称编写多个子表达式,例如 (?P<bob>a+)(?P<bob>b+),它声明了两个名为 "bob" 的子表达式。在这种情况下,SubexpIndex 返回正则表达式中最左边的此类子表达式的索引。

例子:

package main

import (
	"fmt"
	"regexp"
)

func main() {
	re := regexp.MustCompile(`(?P<first>[a-zA-Z]+) (?P<last>[a-zA-Z]+)`)
	fmt.Println(re.MatchString("Alan Turing"))
	matches := re.FindStringSubmatch("Alan Turing")
	lastIndex := re.SubexpIndex("last")
	fmt.Printf("last => %d\n", lastIndex)
	fmt.Println(matches[lastIndex])
}

输出:

true
last => 2
Turing

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Regexp.SubexpIndex。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。