Форум сайта python.su
0
Нужно удалить в тексте все пустые строки, идущие подряд по две. Под “пустыми” понимаются ничего не содержащие, либо только пробелы/табы. У меня почему-то не получается, чтобы работало как надо:
r“\r\n\s*\r\n”
Какое регулярное выражение будет правильно описывать эту задачу?
Отредактировано (Дек. 25, 2011 07:22:38)
Офлайн
32
import re
s = '''
1
\t
2
3
'''
print re.sub('\n\\s*?\n\\s*?\n', '\n', s)
1
2
3
Офлайн
0
Спасибо за помощь. Я правильно понимаю, что “\n” работает одинаково и для “\r\n”, и для “\n” окончаний строк?
И ещё один вопрос по РВ. Как посчитать количество найденных соответствий. Что здесь не так?
import re
s = '''
blah blaster blah gangster
blah blah master
'''
count = len(re.findall('ter$', s))
Офлайн
32
нужно выбрать режим re.MULTILINE
Офлайн