import re
s = 'ddvvrwwwrggg'
print(re.findall(r'(.)\1*', s)) # -> ['d', 'v', 'r', 'w', 'r', 'g']
a = [i.group() for i in re.finditer(r'(.)\1*', s)]
print(a) # -> ['dd', 'vv', 'r', 'www', 'r', 'ggg']
Почему findall и finditer дают разные результаты? Мне нужен Finditer, вывод должен быть ['dd', 'vv', 'r', 'www', 'r', 'ggg'], но я не хочу использовать циклы. Или есть лучший способ получить все подстроки с одинаковыми символами?
a = [i.group() for i in re.finditer(r'(.)\1*', s)] print(a) # -> ['dd', 'vv', 'r', 'www', 'r', 'ggg'] [/code] Почему findall и finditer дают разные результаты? Мне нужен Finditer, вывод должен быть ['dd', 'vv', 'r', 'www', 'r', 'ggg'], но я не хочу использовать циклы. Или есть лучший способ получить все подстроки с одинаковыми символами?