Обнаружение повторений в строке

У меня есть простая проблема, но не могу прийти с простым решением :)

Допустим, у меня есть строка. Я хочу обнаружить, есть ли в этом повторение.

Мне бы хотелось:

"blablabla" # => (bla, 3)

"rablabla"  # => (bla, 2)

Дело в том, что я не знаю, какой шаблон я ищу (у меня нет «бла» в качестве входных данных).

Любая идея?

РЕДАКТИРОВАТЬ:
Видя комментарии, я думаю, что я должен уточнить немного больше, что я имею в виду:

В строке есть либо шаблон, который повторяется, либо нет.Повторяющийся узор может быть любой длины.

Если есть шаблон, он будет повторяться снова и снова до конца. Но строка может заканчиваться в середине шаблона.

Пример:

"testblblblblb" # => ("bl",4) 

Ответы на вопрос(1)

Ваш ответ на вопрос