(\.\.#\.\.)
我想在以下字符串中获取以下模式的索引:
...#...#....#.....#..#..#..#.......
但是 Golang 不管理重叠匹配。
因此我得到了:[[1 6 1 6] [10 15 10 15] [16 21 16 21] [22 27 22 27]]
正如您所看到的,两个点.
确实在第二个点之前和后缀#
,但它不是由方法返回的FindAllStringSubmatchIndex
。
我尝试使用与正则表达式不同的方法但没有成功。
相反,似乎 regexp 本身不支持此功能:
// 如果存在“All”,例程将匹配整个表达式的连续非重叠匹配项。
我可以解决这个问题,但由于我正在做这个练习来学习 Golang,所以我想知道。谢谢 :)
这是我的参考代码:
matches := r.pattern.FindAllStringSubmatchIndex(startingState)
fmt.Println(r.pattern)
fmt.Println(matches)
for _, m := range matches {
tempState = tempState[:m[0]+2] + "#" + tempState[m[0]+3:]
fmt.Println(tempState)
}
慕尼黑的夜晚无繁华
胡子哥哥
相关分类