информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяСтрашный баг в WindowsSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
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  Число просмотров: 2084
Автор: 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>
Perl Регулярка 06.02.06 20:36  
Автор: choor Статус: Elderman
<"чистая" ссылка>
Соовсем забыл как это делается, но вдруг понадобилось:
Есть образец вида:
form=check_form;texttime=blablabla

check_form может принимать разные значения
time может иметь разные модификации типа:
hfhftimedjsjd|tm|vreamye
так же все значения могут имет или не иметь символы в начале и в конце
Но
вот эта штука не выдаёт ничего:
if($insidel1=~/form=[A-Za-z0-9]text(()time(.*)|(.*)tmd(.*).*)vremya(.)=([A-Za-z0-9])\n/i) {$tmp=$2;}
Чувствую что что-то не правильно.
Re 07.02.06 00:41  
Автор: 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".
Проверь этот момент еще раз.
1




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


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