【问题标题】:In Regexp.FindAllStringSubmatch(), what does the second parameter do?Regexp.FindAllStringSubmatch()中,第二个参数是做什么的?
【发布时间】:2012-05-04 06:20:51
【问题描述】:

在这个方法中:

func (re *Regexp) FindAllStringSubmatch(s string, n int) [][]string

第二个参数有什么作用? 我试过了:

re, _ := regexp.Compile("a")
rs := re.FindAllString("aaaaa, ", **1**) // 1 get one 'a', 2 get two 'a's, 3 get three 'a's ...
for _,v := range rs {
    fmt.Println(v)

}

看来第二个参数是关于它匹配的次数。我对吗? 谁能给我一个肯定的答案?官方文档或一些链接是首选。

【问题讨论】:

  • 您的示例使确认结果变得更加困难,但请尝试在play.golang.org/p/ViFmaXfEhm 上进行试验以更好地了解它。
  • 也是因为正在浏览功能级别而没有意识到信息在概述部分的顶部。

标签: regex go


【解决方案1】:

来自http://golang.org/pkg/regexp/概述部分的引用:

如果存在“All”,则例程匹配整个表达式的连续非重叠匹配。与前一个匹配项相邻的空匹配项将被忽略。返回值是一个切片,其中包含相应的非“全部”例程的连续返回值。 这些例程需要一个额外的整数参数 n;如果 n >= 0,该函数最多返回 n 个匹配项/子匹配项。

【讨论】:

  • 哦,是我的错。我只是直接进入关于方法的部分,并跳过了概述部分。我应该从头到尾通读一遍。我现在就通读一遍。
猜你喜欢
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-29
  • 1970-01-01
  • 2016-03-25
相关资源
最近更新 更多