Почему такое не работает в RegEx?

REMO

Guest
Почему такое не работает в RegEx?

Сабж. (сорри я не очень в регэкспах, вот решил подучиться)
PHP:
$test = "http://url.ru/page_1234_34_56.html";
preg_match("[[:digit:]]+", $test, $m);
задача найти любые вхождения цифр.

Подскажите, где можно почитать про PCRE в сети (русский желательно)?
 

REMO

Guest
preg_match("\d+", $test, $m); тоже не работает

Warning: Delimiter must not be alphanumeric or backslash in z:\www\test_scripts\ereg1.php on line 8

preg_match("(\d+)", $test, $m); работает, но находит только первое вхождени
 

Profic

just Profic (PHP5 BetaTeam)
REMO
Не поверишь, но в мануале есть перевод на русский синтаксиса и модификаторов pcre :)
 

Profic

just Profic (PHP5 BetaTeam)
REMO
Тебя еще раз мануал послать или как? :) [m]ref.pcre[/m]
 

REMO

Guest
сенкс, просто здесь ошибки выпадали http://ru3.php.net/PCRE
 

REMO

Guest
я другой адрес дал, если ты заметил. Твой адрес работает, спасибо :)

Хотя я так и не понимаю, почему выпадает ошибка??? (ман я проглядел... )
Я ищу вхождение нескольких цифр в строке: \d+.... Чего не достает?
 

Profic

just Profic (PHP5 BetaTeam)
REMO
Значит быстро проглядел. Читаем первый абзац текста по ссылке, которую я дал

-~{}~ 02.06.04 15:40:

Для незрячих :)
Синтакcис шаблонов, используемых в функциях этого раздела, во многом похож на синтаксис, используемый в Perl. Выражение должно быть заключено в ограничители, например, прямые слеши '/'. Ограничителем могут выступать произвольные символы, кроме буквенно-цифровых и обратного слеша '\'. Если ограничительный символ встречается в шаблоне, его необходимо экранировать. Начиная с PHP 4.0.4 в качестве ограничителя доступны комбинации, используемые в Perl: (), {}, [] и <>. Подробней об этом рассказано в разделе Синтаксис регулярных выражений.
-~{}~ 02.06.04 15:41:

И примеры в конце тоже посмотри
 

REMO

Guest
Сапсиб Profic, я прозрел :)

Но почему он находит, только первое вхождение?
Я так понимаю, надо указать, что таких вхождений может быть несколько

PHP:
/(\d+)*/
- не хотит :(

Я понимаю, что задолбал и пора меня отправить читать ман, но только этот вопрос и ВСЕ :D
 

Profic

just Profic (PHP5 BetaTeam)
*_all :) Поймёшь что имел ввиду? :) только тогда убери из рега () и *

-~{}~ 02.06.04 15:55:

ЗЫ. а насчет задолбал - это ты правильно понимаешь :)
 

REMO

Guest
preg_match_all --- спасиб

-~{}~ 02.06.04 17:02:

Автор оригинала: Profic
*_all :) Поймёшь что имел ввиду? :) только тогда убери из рега () и *

-~{}~ 02.06.04 15:55:

ЗЫ. а насчет задолбал - это ты правильно понимаешь :)
preg_match_all эт не то...

вот что мне нравится. Нет чтобы сказать, как сделать, чтоб заработало, чтобы я свалил с глаз долой... Ан нет, он издеваться давай.. Не нашел я того, что ты имеешь ввиду :(

-~{}~ 02.06.04 17:11:

не все таки preg_match_all("/\d+/", $test, $m) просто надо вывод правильно сделать

Спасиб всем...
 
Сверху