如何使用preg_replace从字符串中提取负正数?

时间:2012-02-05 15:05:20

标签: php regex

我有一个这样的字符串:

SELECT NOW(),DATE_ADD(NOW(), INTERVAL -11 day)

我需要得到正数或负数。

我尝试使用:

preg_replace("/^-?[0-9]/", '', $str);

但它似乎无法发挥作用。

1 个答案:

答案 0 :(得分:3)

如果你想从字符串中“提取”数字,而不是操纵它,那么preg_match()就是你应该使用的。如果要从字符串中删除数字,只需从正则表达式中删除^,这会限制正则表达式匹配字符串的开头。

<强>正则表达式:

/-?[0-9]+/  -- note that the + matches 1 or more numbers

preg_match语法:

preg_match('/-?[0-9]+/', $str, $match);