Кратчайшая повторяющаяся подстрока

Я ищу эффективный способ извлечь кратчайшую повторяющуюся подстроку. Например:

input1 = 'dabcdbcdbcdd'
ouput1 = 'bcd'

input2 = 'cbabababac'
output2 = 'ba'

Я был бы признателен за любой ответ или информацию, относящуюся к проблеме.

Кроме того, в этом посте люди предлагают использовать регулярное выражение вроде

re=^(.*?)\1+$

, чтобы найти наименьший повторяющийся шаблон в строке. Но такое выражение не работает в Python и всегда возвращает мне несоответствие (я новичок в Python и, возможно, я что-то пропускаю?).

--- продолжение ---

Здесь критерием является поиск самого короткого шаблона без перекрытия, длина которого больше единицы и наибольшая общая длина.

6
задан Community 23 May 2017 в 11:43
поделиться