вопрос про preg_match - PullRequest
       7

вопрос про preg_match

0 голосов
/ 09 сентября 2011

У меня вопрос в PHP:

При использовании preg_match , почему #^(([a-z]{2})/)?(([a-z\-]{3,})/(([a-z\-]{3,}))?)?$#i соответствует ab/cde/fgh и не соответствует ab/cde?

(Iзначит:

preg_match_all('#^(([a-z]{2})/)?(([a-z\-]{3,})/(([a-z\-]{3,}))?)?$#i','ab/cde/fgh',$match)

$match =  Array
(
    [0] => ab/cde/fgd
    [1] => ab/
    [2] => ab
    [3] => cde/fgd
    [4] => cde
    [5] => fgd
    [6] => fgd
)

и

preg_match_all('#^(([a-z]{2})/)?(([a-z\-]{3,})/(([a-z\-]{3,}))?)?$#i','ab/cde',$match)
$match = Array ()

Ответы [ 2 ]

3 голосов
/ 09 сентября 2011

Поскольку при написании регулярного выражения вам необходимо использовать косую черту после cde. ab/cde/ должно совпадать.

1 голос
/ 09 сентября 2011

[az -] {3,} = 3 или более символов

...