dounue6984
2016-08-22 13:17
浏览 222
已采纳

如何检查一个字符串在GO中是否具有n个以上的重复模式?

I want to check if a string contains repetitive patterns above a threshold .

For example, these two strings both exceed a threshold of 2:

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

Does anyone know how this is possible?

图片转代码服务由CSDN问答提供 功能建议

我要检查字符串是否包含阈值以上的重复模式。

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

 “ xyzxyzxyz” //连续包含3次“ xyz” 
“ abxyxyxyns” //包含“  xy“连续3次
   
 
 

有人知道怎么可能吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanhuangyun3887 2016-08-22 13:21
    已采纳

    Use the "repetitions" modifier.

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

    The available options for the regpexp package's RE2 implementation are documented here:

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

    点赞 评论