Программирование > Регулярные выражения

Не могу зацепиться

<< < (2/2)

Макс:
metton

мой пример (php):
preg_match("/(?<=\\\\>\\)[^<>]+?(?=<\\\\/option>\\)/s", $a, $m);
print_r($m);
выведет только одно значение:

--- Код: ---Array
(
    [0] => Belgium

)
--- Конец кода ---


твой пример:
preg_match("/([^<>]+?)<\\\\/option>/s", $a, $m);
print_r($m);
выведет:
--- Код: ---Array
(
    [0] => Belgium

    [1] => Belgium

)
--- Конец кода ---

причем одно из значений - лишнее.

Макс:
stanlee
объясни, зачем тебе функцию использовать ?
Что ты хочешь сделать ?

metton:
Макс
Хм... А на perl у меня одно соответствие находит. А как так на PHP Получается?!

Макс:
metton
да, действительно.
Насколько я понимаю, то что ПХП хранит в массиве с индексом 0, перл это помещает в переменную $&

Вот 2 кода на перл:

--- Код: --- # мой
$a =~ /(?)[^]+?(?=)/s;
print $&;
print "\\n";
print $1;
--- Конец кода ---


--- Код: --- #твой
$a =~ /([^]+?)/s;
print $&;
print "\\n";
print $1;
--- Конец кода ---

metton:
Паянт. Хотя странно, что, как получается (?), заглядывающие утверждения как бы не являются частью шаблона? (Может, не так выразился :rolleyes: ) Это я к тому, что части строки, им соответствующие не присутствуют в строке, соответствующей всему шаблону.

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии