2012-02-05 39 views
0

我有一个这样的字符串:如何使用preg_replace从字符串中提取负数 - 正数?

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

,我需要得到它可以是正的或负的数量。

我试着使用:

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

,但它似乎并没有工作。

+2

尝试取出''^从正则表达式的开始;这告诉正则表达式只匹配字符串开头的数字。 – Bojangles 2012-02-05 15:07:22

+1

通过说提取您是否尝试删除负数和正数? – motto 2012-02-05 15:07:33

回答

3

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

正则表达式:

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

的preg_match语法:

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