Многократные совпадения через ereg

ageres

Guest
Многократные совпадения через ereg

Столкнулся с такой проблемой:

есть строчка:
$line = "1069718239| Какой-то текст |1069718238";

Из этого текста нужно вытащить номера.

Задаю маску: 10[0-9]{8}

Использую команду: ereg("10[0-9]{8}", $line, $ereg);

В итоге получаю, только одно совпадение для $ereg['0'].

Вопрос такой, как сделать так, чтобы находились два номера? Имхо маска правильная, возможно не учёл расстояния между этими номерами. Если так, то как правильно их задать?
 

ageres

Guest
Инересует использование Regexp, но не тех, что используются в Perl.
 

ageres

Guest
Появились ещё вопросы.
Есть строка:
"12.0.0.1|в русскую гильдию. Cсылка на форум|| Re: Planetside Overview|skif"

Нужно извлечь: в русскую гильдию. Cсылка на форум.

Ставлю маску: \.[0-9]{1,3}\|.+\|\|

Где \.[0-9]{1,3} - ip адрес. (.+) - любая последовательно символов до ||

Проблема в том, что на || текст не обрезается, и копируется вся поселодательност. При этом, если убрать квадратные скобки, то всё ок.

Вопросы такой: (.+) - не ловит квадратные скобки?
 

netdog

net @
$v = "12.0.0.1|в русскую гильдию. Cсылка на форум|| Re: Planetside Overview|skif";
preg_match("~\|(.+?)\|~",$v,$m);
print_r($m);
 
Сверху