Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 25, 2011 07:16:16

pytalks
От:
Зарегистрирован: 2011-12-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярные выражения

Нужно удалить в тексте все пустые строки, идущие подряд по две. Под “пустыми” понимаются ничего не содержащие, либо только пробелы/табы. У меня почему-то не получается, чтобы работало как надо:

r“\r\n\s*\r\n”

Какое регулярное выражение будет правильно описывать эту задачу?



Отредактировано (Дек. 25, 2011 07:22:38)

Офлайн

#2 Дек. 25, 2011 08:16:24

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Регулярные выражения

import re

s = '''
1

\t
2

3
'''

print re.sub('\n\\s*?\n\\s*?\n', '\n', s)
result:
1
2

3

Офлайн

#3 Дек. 25, 2011 13:31:34

pytalks
От:
Зарегистрирован: 2011-12-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярные выражения

Спасибо за помощь. Я правильно понимаю, что “\n” работает одинаково и для “\r\n”, и для “\n” окончаний строк?

И ещё один вопрос по РВ. Как посчитать количество найденных соответствий. Что здесь не так?

import re
s = '''
blah blaster blah gangster

blah blah master
'''
count = len(re.findall('ter$', s))



Офлайн

#4 Дек. 25, 2011 14:23:35

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Регулярные выражения

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version