регулярное выражение получения номера из тегов

0

Я пытаюсь получить этот номер, который находится между тегами << >>

333333

из

string = "my subject <<my-support-id=333333>>"

Можете ли вы дать какие-либо рекомендации, поскольку я никуда не дену

Я пытаюсь получить это, используя preg_match в php.

  • 0
    Похоже, простое манипулирование строками может быть более подходящим
Теги:
expression

3 ответа

2

Как насчет регулярного выражения

/<<[^\d]+(\d+)>>/
  • [^\d]+ Отрицательный класс символов. будет соответствовать любому значению, кроме цифр, \d

  • (\d+) Группа захвата 1 будет содержать цифры в пределах << >>

Демо-версия Regex

Контрольная работа

preg_match("/<<[^\d]+(\d+)>>/", "my subject <<my-support-id=333333>>",$matches);
print_r($matches[1]);
=> 333333

ИЛИ

/<<[^=]+=(\d+)>>/

Контрольная работа

preg_match ( "/<<[^=]+=(\d+)>>/", "my subject <<my-support-id=333333>>",$matches);
print_r($matches[1]);
=> 333333
1

Попробуй это:

preg_match_all('/\=([0-9]+)>/','my subject <<my-support-id=333333>>', $out, PREG_PATTERN_ORDER);
echo $out[1][0];
  • 0
    работает отлично спасибо
0

Вы можете это сделать -

$string = "my subject <<my-support-id=333333>>";
$pattern = '/\d+/';
preg_match($pattern, $string, $matches);
print_r($matches);

И результатом будет Array ( [0] => 333333 )

ПРИМЕР

  • 0
    большое спасибо работает отлично

Ещё вопросы

Сообщество Overcoder
Наверх
Меню