Я пытаюсь извлечь целое число 1425
из строки $123/123 - 1425ft² - Some random message
. Однако я могу извлечь только 5
, а не 1425
с кодом ниже.PHP Regex в соответствии с номером
Будучи плохим при регулярном выражении, я использовал *
для соответствия нескольким цифрам.
Любые предложения, что пошло не так? Спасибо!
PHP
$text = '$123/123 - 1425ft² - Some random message';
$pattern = '/ ([0-9])*ft²/s';
preg_match($pattern, $text, $matches);
echo '<pre>';
print_r($matches);
Выход
Array
(
[0] => 1425ft²
[1] => 5
)
Переместить группу захвата, чтобы захватить все цифры: ' '/ ([0-9] +) ft²/s'' – nhahtdh
Вы должны переместить звезду * внутри * скобки, так что группа захвата '()' содержит все цифры, которые были сопоставлены. – Jon
@nhahtdh Это работает! – Nyxynyx