【发布时间】:2017-03-15 20:40:15
【问题描述】:
我有一个字符串 -> 'abcabcabclslslsokjokjokj' 我需要找到一种能够识别所有重复(或至少一个最长唯一)的算法
我发现 (\w+?)\1+(适用于 Ruby)它就像单次重复的魅力。
'abcabcabcabc' #=> 'abc'
但 'ababcababcababcababcababcababc' 失败,预期结果为 ababc 但结果为 ab
我哪里错了,正确的查找方法是什么:-
- 第一个独特的循环模式 (
ababcababcababcjkjkjkjk=>ababc) 2(奖金)。字符串中所有唯一的非重叠循环重复,(ababcababcababcabhabhabhlklklk=>ababc,abh,lk)
【问题讨论】:
-
使用贪心量词:
(\w+)\1+ -
你为什么首先使用惰性量词?
标签: regex string language-agnostic recurrence substring