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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ленивая квантификация, То работает, то нет 
:(
    Опции темы
MakTpaxep
Дата 18.5.2011, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Почему нижеприведённые регэкспы работают по разному?
Код

s/<.+?><\/.+?>//g;
s/<[^>]+><\/[^>]+>//g;

Первый удаляет некоторые строки, а цель всего лишь удалить пустые тэги.
PM MAIL   Вверх
alezzz
Дата 18.5.2011, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


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

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



Первое выражение начинает работать от первого "<" и идет дальше пока не найдет "></" и не важно что по ходу будут по отдельности "<" и ">", точка совпадает с любым символом (в зависимости от модификатора). Второе выражение составлено правильно.



Это сообщение отредактировал(а) alezzz - 18.5.2011, 16:06
PM MAIL   Вверх
MakTpaxep
  Дата 18.5.2011, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ах вот в чём дело..
Спасибо за ответ - именно такой я и ждал=)
PM MAIL   Вверх
alezzz
Дата 18.5.2011, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


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

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



Но если очень хочется ленивой квантификацией сделать, то удалите обратные связи атомарной группировкой
Код

s#(?><.+?>)</.+?>##g;

PM MAIL   Вверх
MakTpaxep
Дата 19.5.2011, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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


 




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


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

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