如何检查一个字符串在GO中是否有超过n个重复模式?

时间:2016-08-22 13:17:42

标签: go

我想检查字符串是否包含高于阈值的重复模式。

例如,这两个字符串都超过阈值2:

"xyzxyzxyz" // contains "xyz" 3 times in succession
"abxyxyxyns" //  contains "xy" 3 times in succession

有谁知道这是怎么回事?

1 个答案:

答案 0 :(得分:1)

使用“重复”修饰符。

re := regexp.MustCompile(`(xy){3,}`)      // match "xy" 3 or more times
fmt.Println(re.MatchString("abxyxyns"))   // false
fmt.Println(re.MatchString("abxyxyxyns")) // true

此处记录了regpexp软件包的RE2实现的可用选项:

https://github.com/google/re2/wiki/Syntax