"testhellohellohellobyebyebyehello".match(/(.+)\1+/)
Здесь написано: «соответствует последовательности не менее 1 символа (.+)
, а затем ссылается на первое найденное нами \1
хотя бы один раз +
или более.
Будет возвращено ["hellohellohello", "hello"]
, означающее, что hellohellohello соответствует полному выражению (выражение 0), а «hello» соответствует выражению 1 (то, на что мы ссылаемся \1
).
Оговорка:
что-то вроде "hahahaha"
даст ["hahahaha", "haha"]
вместо ["hahahaha", "ha"]
. поэтому вам нужно будет использовать вышесказанное с некоторой последующей обработкой, чтобы получить желаемый результат.