Language Independant:检查字符串是否包含某个子字符串的倍数

Ran*_*ser 2 regex language-agnostic pattern-matching

我希望通用算法查找字符串是否包含重复模式,并且字符串的任何部分都不会被重复模式排除.

例如,查看以下示例字符串:

abcabcabc - true
abcabcabcx - false
cucumbercucumber - true
cucumber - false
abaaabaaabaa - true
Run Code Online (Sandbox Code Playgroud)

我看了这个答案,它解决了一些案例的问题,但在例子的情况下会失败cucumber.我需要一些适用于所有情况的东西.

Vee*_*rac 5

/sf/answers/178747341/启发的Python解决方案是

s in (s + s)[1:-1]
Run Code Online (Sandbox Code Playgroud)

O(n)假设有效实施,这需要时间str.__contains__.