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


GO Regexp.FindSubmatchIndex用法及代码示例

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

用法:

func(re *Regexp) FindSubmatchIndex(b []byte) []int

FindSubmatchIndex 返回一个切片,其中包含标识 b 中正则表达式的最左侧匹配及其子表达式的匹配(如果有)的索引对,如包注释中的 'Submatch' 和 'Index' 说明所定义。返回值 nil 表示不匹配。

例子:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile(`a(x*)b`)
    // Indices:
    //    01234567   012345678
    //    -ab-axb-   -axxb-ab-
    fmt.Println(re.FindSubmatchIndex([]byte("-ab-")))
    fmt.Println(re.FindSubmatchIndex([]byte("-axxb-")))
    fmt.Println(re.FindSubmatchIndex([]byte("-ab-axb-")))
    fmt.Println(re.FindSubmatchIndex([]byte("-axxb-ab-")))
    fmt.Println(re.FindSubmatchIndex([]byte("-foo-")))
}

输出:

[1 3 2 2]
[1 5 2 4]
[1 3 2 2]
[1 5 2 4]
[]

相关用法


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