LINUX.ORG.RU

История изменений

Исправление proud_anon, (текущая версия) :

Ыххх... максимальные? Проблема в том, что большинство движков для регулярок находят leftmost longest match.

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

Рассмотрим строку «abcabcabcdabcd». Длиннейшая повторяющаяся строка — abcd. Но даже Perl здесь найдёт abc.

Боюсь, что этого не удастся сделать ни в каком движке регулярных выражений, который не является тьюринг-полным. Хотя я не уверен.

Исходная версия proud_anon, :

Ыххх... максимальные? Проблема в том, что большинство движков для регулярок находят leftmost longest match.

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

Рассмотрим строку «abcabcabcdabcd». Длиннейшая повторяющаяся строка — abcd. Но даже Perl здесь найдёт abc.

Боюсь, что этого не удастся сделать ни в каком движке регулярных выражений, который не является тьюринг-полным.