如何从字符串“x days”导出天数

时间:2017-05-01 23:08:21

标签: php regex

如何从4导出string

  

9购买超过4天的房地产股

我可以通过以下方式导出数字:

$numbers = preg_replace('/[^0-9]+/', '', $string);

但我只想要days后面的数字?

2 个答案:

答案 0 :(得分:2)

您可以使用匹配的正则表达式preg_match

if (preg_match('/\d+(?=\s*days)/', $string, $m)) {
    echo $m[0];
}

请参阅PHP demoregex demo\d+(?=\s*days)模式匹配1+位数(\d+),后跟0 +空格(\s*)和子串days

与捕获组相同的正则表达式看起来像

if (preg_match('/(\d+)\s*days/', $string, $m)) {
    echo $m[1];
}

请参阅another PHP demoanother regex demo。在这里,1+数字被捕获到一个组中,可以通过$m[1]访问。

答案 1 :(得分:0)

您可以使用:

$days = preg_replace('/.*(\d+) days/i', '\1', $string);

enter image description here

Regex Demo
PHP Demo