Задать вопрос
kosyachniy
@kosyachniy
Python BackEnd, Web FullStack

Регулярные выражения Как удалить все повторяющиеся буквы более 2х раз подряд?

Удалить все повторения подряд далее 2х символов для букв любого языка

Например:
'veююююvno b fffa a aaaaa nkacvak 777 aa' -> 'veююvno b ffa a aa nkacvak 777 aa'
  • Вопрос задан
  • 1380 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
longclaps
@longclaps
Хех, даже в напримере накосячил )
print(re.sub(r'(\w)\1+', r'\1\1',
             'veююююvno b fffa a aaaaa nkacvak 777 aa'))

или цифр это не касается? Тогда сложнее:
def f(m):
    s = m.group(0)
    return s if s[0].isdigit() else s[:2]

print(re.sub(r'(\w)\1+', f,
             'на любом языке - так на любом 777 aa მუუუუნჯი 慕尼尼尼尼黑 '))

ps нашлось решение получше:
print(re.sub(r'([^\W\d])\1+', r'\1\1',
             'veююююvno b fffa a aaaaa nkacvak 777 aa მუუუუნჯი 慕尼尼尼尼黑 '))
Ответ написан
kosyachniy
@kosyachniy Автор вопроса
Python BackEnd, Web FullStack
re.sub(r'([а-яa-z])\1+', r'\1\1', s)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
AST Москва
До 350 000 ₽
18 янв. 2025, в 10:04
50000 руб./за проект
18 янв. 2025, в 09:18
5500 руб./за проект
18 янв. 2025, в 07:20
50000 руб./за проект