PHP Regex匹配一个数字

时间:2013-03-04 08:57:15

标签: php regex

我正在尝试从字符串1425中提取整数$123 / 123 - 1425ft² - Some random message。但是,我只能使用下面的代码提取5而不是1425

在正则表达式方面做得不好,我使用*来匹配多个数字。

任何建议出了什么问题?谢谢!

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
)

3 个答案:

答案 0 :(得分:5)

对您的模式进行轻微更改

$pattern = '/ ([0-9]*)ft²/';

或者是否必须至少有一个匹配的号码

$pattern = '/ ([0-9]+)ft²/';

答案 1 :(得分:0)

$text = '$123 / 123 - 1425ft² - Some random message';
$pattern = '/([0-9]+)ft²/s';
preg_match($pattern, $text, $matches);

echo '<pre>';
print_r($matches);

使用上面的代码。我测试过了。工作正常。

答案 2 :(得分:0)

试试这个:

$text = '$123 / 123 - 1425ft² - Some random message';
$pattern = '/(?P<number>\d+)ft²/';
preg_match($pattern, $text, $matches);

echo $matches['number'];