Подстроки повторяющихся символов фиксированной длины
В логах строки вида XXXXxxxYYyyyyZZZZzzW, т.е. ряд повторяющихся символов в разном регистре. Нужно регуляркой захватить из каждого набора повторов подстроки фиксированной длины: было XXXXxxxYYyyyyZZZZzzW и стало ['XXX', 'YYy', 'ZZZ', 'W']. Иначе говоря, если символов больше — убрать лишние, в протвном случае оставить как есть. Знаний регулярок хвалило лишь на /(.)\1{2}|\S/gi, но match захватывает много лишнего. Подскажите, пожалуйста, как быть в данном случае, что исправить? В смысле, чтобы было решено всё регуляркой именно, а не через reduce, map и прочее?
Ответы (1 шт):
Вариант с негативным просмотром вперед. Особенность: выражение захватывает до трех последних символов в серии.
/(.)\1{0,2}(?!\1)/gmi