@zaswed

Как составить регулярное выражение?

Есть такая строка -
s = "abaabbaaab"
из нее надо сделать такую -
"ab(a+a)bb(a+a+a)b"

т.е. если группа символов "a" встречаеся 2 и более раза то вокруг поставить скобки а между символами знак "+"
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@YuriM1983
Фрилансер - веб-программист на питоне
print(re.sub(r'aa+', lambda x: '(%s)' % '+'.join(x[0]), s))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
longclaps
@longclaps
print(re.sub(r'aa+', lambda t: '(' + ('a+' * len(t[0]))[:-1] + ')', s))
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Popmechanic Москва
от 100 000 до 150 000 руб.
Panda Media Нижний Новгород
от 70 000 руб.
НЛ Континент Новосибирск
от 60 000 до 100 000 руб.
18 авг. 2018, в 01:10
17000 руб./за проект
17 авг. 2018, в 23:00
5500 руб./за проект