Re.findall соответствует только одному символу, когда я ищу серии символовPython

Программы на Python
Ответить
Anonymous
 Re.findall соответствует только одному символу, когда я ищу серии символов

Сообщение Anonymous »

Код: Выделить всё

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'], но я не хочу использовать циклы. Или есть лучший способ получить все подстроки с одинаковыми символами?

Подробнее здесь: https://stackoverflow.com/questions/666 ... -character
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»