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

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

333333

от

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

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

Я пытаюсь получить это с помощью preg_match функция в php.

0

Решение

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

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

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

Regex Demo

Тестовое задание

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
2

Другие решения

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

preg_match_all('/\=([0-9]+)>/','my subject <<my-support-id=333333>>', $out, PREG_PATTERN_ORDER);
echo $out[1][0];
1

Вы могли бы сделать это —

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

И на выходе будет Array ( [0] => 333333 )

ПРИМЕР

0
По вопросам рекламы [email protected]