Нахождение повторяющихся элементов в строке с помощью регулярных выражений

Дана строка, например:

JJJJJJJJOIIIIIGFGNJGFJJJPPPPKDGKJUUUU

Надо получить все подстроки с повторяющимися символами, т.е.:

JJJJJJJJ, IIIII, JJJ, PPPP, UUUU.

Никак не могу подобрать, какой тут применить шаблон?


Ответы (1 шт):

Автор решения: MaxU

Пример:

s = 'JJJJJJJJOIIIIIGFGNJGFJJJPPPPKDGKJUUUU'

res = [match.group() for match in re.finditer(r'(.)\1+', s)]

результат:

In [18]: res
Out[18]: ['JJJJJJJJ', 'IIIII', 'JJJ', 'PPPP', 'UUUU']
→ Ссылка