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

программирование php регулярные выражения regexp

michlen-ice-north-2-iid-434623238
Нужно вырезать из строки последние цифры 434623238

Есть массив из строк вида: michlen-ice-north-2-iid-434623238 нужно пройтись по массиву и вытянуть 434623238
Накидал пример - но он не работает: preg_match('|.*iid-(\d+)|', $text, $out));

Примечание:
Можете прокомментировать?
Пойдет ли он для preg_match_all
И что означает тильда

Примечание:
Сделал так: $id_list=implode('#',$title['link']);
preg_match_all('|[\s]*iid-(\d+)[\s]*|', $id_list, $out);
echo '<pre>';
var_dump($out);



Вопрос: почему $out содержит в себе 2 массива, один со значенями array(30) {
[0]=>
string(13) "iid-434981912"
..
}



Другой: [1]=>
array(30) {
[0]=>
string(9) "434981912"
[1]=>...}



Как сделать, чтобы на выходе был 1 массив (второй)?
Ответы:
~(\d+)$~
preg_match_all(
   '/(\d+)$/',
   $text,
   $out
);
Тильда - это один из возможных символов.
Регулярное выражение всегда начинается с некоего символа, который используется как маркер окончания регулярного выражения. Т.е.
>>> Как сделать, чтобы на выходе был 1 массив (второй)?


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.