Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удаление переносов строк 
:(
    Опции темы
BaldHeaded
Дата 17.8.2010, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 19.1.2006

Репутация: нет
Всего: нет



доброе время суток.

текст:
Код

текст 

текст текст текст текст текст текст 

текст текст текст  
текст текст текст текст  
(текст текст  

текст текст текст текст 
) 

текст (текст  

текст ) 

текст 


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

p.s. скобок внутри скобок быть не может
PM MAIL   Вверх
ming
Дата 19.8.2010, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 30.1.2009
Где: Новосибирск

Репутация: 1
Всего: 3



одной регуляркой тут не обойтись.

я бы сделал так, прибегая к дополнительной переменной-накопителю:
Код

my $text = ..... ; # обрабатываемый текст
my $result;
for (split /\n/, $text) {
    $result .= $_;
    if (/\(/ .. /\)/) {
        $result .= "\n";
    } 
}
print $result;

или 
Код

my $text = ..... ; # обрабатываемый текст
my $result;
$result = join "", map { $_.="\n" if (/\(/ .. /\)/); $_ } split /\n/, $text;
print $result;


Это сообщение отредактировал(а) ming - 19.8.2010, 16:43
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




[ Время генерации скрипта: 0.0375 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.