Помогите составить регулярное выражение

Trader1985

Client
Регистрация
14.12.2011
Сообщения
131
Благодарностей
31
Баллы
28
Здравствуйте! Помогите, пожалуйста, с рег. выражением.
В общем, спарсил текст, теперь нужно удалить пустые строки. Нашёл вот такую простенькую регулярку: \n\r – удаляет ВСЕ пустые строки.
Вопрос: а как быть, если надо найти в тексте ОТ ТРЁХ и более пустых строк? Т.е. я не хочу чтобы искались все пустые строки, а хочу чтобы искалось только более трёх пустых строк подряд.
Просто, сами по себе пустые стоки нужны, чтобы текст был читабельным и красивым, но когда их более двух подряд – надо найти и уничтожить лишению пустоту.
Как указать диапазон? Какой квантификатор прописать? Или, что там надо?.. :bw:
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
если там просто переносы можно попробовать замены {-String.Enter-}{-String.Enter-}{-String.Enter-} на пустоту
 
  • Спасибо
Реакции: Trader1985

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Код:
\s{2,}
Вот
 

Trader1985

Client
Регистрация
14.12.2011
Сообщения
131
Благодарностей
31
Баллы
28
если там просто переносы можно попробовать замены {-String.Enter-}{-String.Enter-}{-String.Enter-} на пустоту
Да, спасибо, это работает: вставил четыре подряд {-String.Enter-}{-String.Enter-}{-String.Enter-}{-String.Enter-} – остаётся по одной или две пустых строки.

\s{2,}
Попробовал, получается слипшейся текст в одну строку. Однако, если увеличить до 7 т.е. \s{7,} – работает как надо. Не знаю, даже, почему...))

P.S.

Вообще, хорошо бы, конечно, если бы экшен Trim до ума довели, так сказать. Чтобы он обрезал лишнее не только в начале или в конце но и в середине.
Да так, чтобы диапазон "лишнего" указать можно было, как в моём примере.
 
Последнее редактирование:

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
(?<=(\r\n){2})(\r\n){1,}
вот таким образом обрежет все переносы строк более 2х, т.е. 2 оставит, а все остальные удалит.
 

Trader1985

Client
Регистрация
14.12.2011
Сообщения
131
Благодарностей
31
Баллы
28
Спасибо, регулярка: (?<=(\r\n){2})(\r\n){1,} – вроде работает как надо! Сам бы, конечно, никогда бы не составил!.. :be: Хорошо, что хоть на форуме есть отзывчивые люди!
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Вообще, хорошо бы, конечно, если бы экшен Trim до ума довели, так сказать. Чтобы он обрезал лишнее не только в начале или в конце но и в середине.
Да так, чтобы диапазон "лишнего" указать можно было, как в моём примере.
Trim так не работает.
 

Trader1985

Client
Регистрация
14.12.2011
Сообщения
131
Благодарностей
31
Баллы
28
А теперь уже и не надо!.. ))
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
ну и ок) :P
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)