заставить работать регул.выр.

JamES

Новичок
заставить работать регул.выр.

Написал выражение, в RegexCoach работает как надо
/(?<=href=('|"))(/?|ht{2}ps?:/{2}site\.com)(?:[\S]*?|\s)(?=('|"))/
вставляю в preg_match_all не пашет
пробовал и со слешами, и без, и экранировал с preg_quote.
ткните плиз, что не так
 

sakon

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

JamES

Новичок
вида:
href='site.com/page'
href='page'
но интересует что неправильно в моем выражении ... так как взялся выучить толком реги

-~{}~ 05.07.06 00:09:

~ - спасло отца демократии
только я не могу найти описание символа в мануале http://ru.php.net/manual/ru/reference.pcre.pattern.syntax.php
может вкурсе, что ~ делает
 

sakon

П..и.н..ок
Угу. В курсе.

-~{}~ 05.07.06 00:37:

А нафига нужна позитивная опережающая проверка?
 

JamES

Новичок
Автор оригинала: sakon
Угу. В курсе.
ну может объяснишь или это секрет большой
а позитивная опережающая проверка нужна для того, чтоб проверить, что же стоит справа от искомого выражения :)
 

sakon

П..и.н..ок
http://ru.php.net/manual/ru/ref.pcre.php#pcre.intro
"Синтакcис шаблонов, используемых в функциях этого раздела, во многом похож на синтаксис, используемый в Perl. Выражение должно быть заключено в ограничители, например, прямые слеши '/'. Ограничителем могут выступать произвольные символы, кроме буквенно-цифровых и обратного слеша '\'. Если ограничительный символ встречается в шаблоне, его необходимо экранировать. Начиная с PHP 4.0.4 в качестве ограничителя доступны комбинации, используемые в Perl: (), {}, [] и <>."

-~{}~ 06.07.06 14:30:

"а позитивная опережающая проверка нужна ...."
Ну так и вынеси ее за скобку...
 
Сверху