子串的重复次数

时间:2014-09-30 16:15:02

标签: regex r

我有一个字符串,我发现连续重复子字符串至少3次,允许使用通配符。 我想知道它重复了多少次。由于通配符,我无法使用stingr包。 例如: 假设字符串是

abcdabcdabcb

然后输出为abcd。

ababacab

输出-AB

pqrprrpqr

output- pqr

我想计算它重复的次数。我怎样才能做到这一点? 对于上面的例子,第一个答案是3,然后是4,最后一个答案也是3

1 个答案:

答案 0 :(得分:1)

您可以使用这种模式:

(?|
    (([a-z]+)[a-z]([a-z]*))(?:\2[a-z]\3){2,}
  | 
    ([a-z]([a-z]+))(?:[a-z]\2){2,}
)

online demo