информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаАтака на InternetЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Phrack #70/0x46 
 Возможно, Facebook наступил на... 
 50 лет электронной почте 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Re 07.02.06 00:41  Число просмотров: 1816
Автор: Heller <Heller> Статус: Elderman
Отредактировано 07.02.06 00:48  Количество правок: 1
<"чистая" ссылка>
> Соовсем забыл как это делается, но вдруг понадобилось:
> Есть образец вида:
> form=check_form;texttime=blablabla
>
> check_form может принимать разные значения
> time может иметь разные модификации типа:
> hfhftimedjsjd|tm|vreamye
> так же все значения могут имет или не иметь символы в
> начале и в конце
Задача понятна только в общих чертах. Предварительные зачечания:

> $insidel1=~/ form=[A-Za-z0-9]text
1. Пробел перед form - регэкспы чувствительны к таким вещам (если не стоит модификатор "x").

2. После конструкции [A-Za-z0-9] надо бы поставить астерикс (*), если после form= может не идти символов, либо плюс (+), если должен быть по крайней мере один символ. Конструкция, которую ты написал обозначает только один символ, принадлежащий классу. Кстати есть метасимвол "\w", который полностью удовлетворяет классу, который ты написал (плюс, имеет в своем составе символ подчеркивания (_)).
3. После значения form=... ты не указал точку с запятой (в приведенной строке выше она была). Если точка с запятой - допустима, но не неодходима (может быть, а может и не быть), то обозначается конструкцией ";?".

>(()time(.*)|(.*)tmd(.*).*)vremya(.)=([A-Za-z0-9])\n/i
4. Проверь орфографию "tmd" и "vremya" - в приведенной задаче выше ты писал это по-другому.
5. Конструкцию(()time(.*)|(.*)tmd(.*).*)vremya(.)
я бы заменил на
(time|tmd|vremya).
хотя это и не критично, но значительно более экономно.
6. Насчет конструкции
([A-Za-z0-9])
Читай мой комментарий под цифрой два.
7. Непонятно обилие круглых скобок. Как в случае с конструкциями
(.*)
так и в случае с конструкцией из шестого комментария.
8. А что именно надо получить ты так и не указал :), но исходя из седьмого комментария можно предполжить, что ты так же перепутал с переменно $2. В приведенном варианте регэкспа она будет непуста только в том случае, если используется формат с time (а не tmd и не vremya) и заносится в нее тот текст, который идет собственно перед time, но послеtext(и после следующего за ним пробела, так как регексп к пробелам чувствителен). То есть если имеется фрагмент:
*text* bla1timebla2=bla3
то в $2 будет помещено "bla1".
Проверь этот момент еще раз.
<programming> Поиск 








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


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