информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыВсе любят медСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Крупный сбой Azure и других сервисов... 
 Серьезный сбой AWS положил множество... 
 Фишинговая атака на Python-разработчиков 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Разобрался. Причина оказалась на поверхности. 24.08.06 17:11  Число просмотров: 2100
Автор: Heller <Heller> Статус: Elderman
Отредактировано 24.08.06 17:11  Количество правок: 1
<"чистая" ссылка>
> $rss=~s#<item>(?!<item>).*</item>##s;

Условное выражение привязывается строго к позиции. Соответствие ищется не по всей оставшейся строке, а должно идти сразу начиная с позиции, в которой оно стоит. То есть правильный вариант:

$rss=~s#<item>(?!<item>).lt;/item>##s;
<programming>
Помогите с регекспом 24.08.06 16:10  
Автор: Heller <Heller> Статус: Elderman
Отредактировано 24.08.06 16:28  Количество правок: 1
<"чистая" ссылка>
Вроде простой регексп, но не работает.

Задача: в переменной $rss лежит обычный RSS-документ. Надо вырезать из него последнее сообщение, то есть последнюю встречающуюся конструкции <item>.*</item>. Код:

$rss=~s#<item>(?!<item>).*</item>##s;

Вырезает такая штука все от начального <item> до конечного </item>, игнорируя условный шаблон. Уже двадцать минут бьюсь - не могу понять в чем дело. Будут идеи?

ЗЫ. Конечно, есть много способов написать по-другому, что я уже и сделал, но интересует почему не работает конкретно данное выражение.
Разобрался. Причина оказалась на поверхности. 24.08.06 17:11  
Автор: Heller <Heller> Статус: Elderman
Отредактировано 24.08.06 17:11  Количество правок: 1
<"чистая" ссылка>
> $rss=~s#<item>(?!<item>).*</item>##s;

Условное выражение привязывается строго к позиции. Соответствие ищется не по всей оставшейся строке, а должно идти сразу начиная с позиции, в которой оно стоит. То есть правильный вариант:

$rss=~s#<item>(?!<item>).lt;/item>##s;
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach