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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> regexp: жадность квантификаторов 
:(
    Опции темы
Ramzai
Дата 26.8.2004, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня есть текст вроде

$text = "This is just a [test [one][two] blah [never]c'mon[]";

Мне надо прочитать все заключенное во внутренних скобках, то есть one, two, never. А потом вырезать все со скобками.

Код
while ($text =~ /(?<=\[).+?(?=\])/g) {push @arr, $&;}
foreach $a (@arr) {print "$a\n";}
$text =~ s/\[.+?\]//g;
print "$text\n";


читает "test [one" и не оставляет "[test" (я понимаю почему, но правильный regexp придумать не могу)

Что делать?


PM MAIL   Вверх
Secandr
Дата 26.8.2004, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

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



делать правельный регексп

Код
$text =~ s/\[[^\[\]]+\]//g;


вырежет без вложений и оставит [test

Элементарно, жадность нужно использовать воблаго, если он жадный пусть жрёт всё кроме ][


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




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


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

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