Разве регулярка под копотом не тоже самое делает, что и мы циклом и тд?)
Если нужен оптимальный способ, то можно сперва находить повторы, как только повтор заканчивается, смотреть есть ли последний символ из повтора в массиве с символами из диапозона, если есть то результат добавляем в массив, если нет то идём дальше искать повторы