0
我有一个这样的字符串:如何使用preg_replace从字符串中提取负数 - 正数?
SELECT NOW(),DATE_ADD(NOW(), INTERVAL -11 day)
,我需要得到它可以是正的或负的数量。
我试着使用:
preg_replace("/^-?[0-9]/", '', $str);
,但它似乎并没有工作。
我有一个这样的字符串:如何使用preg_replace从字符串中提取负数 - 正数?
SELECT NOW(),DATE_ADD(NOW(), INTERVAL -11 day)
,我需要得到它可以是正的或负的数量。
我试着使用:
preg_replace("/^-?[0-9]/", '', $str);
,但它似乎并没有工作。
如果你想从字符串中“提取”数字,而不是操纵它,那么你应该使用preg_match()
。如果你想从字符串中删除数字,只需从正则表达式中删除^
,这会限制你的正则表达式匹配字符串的开始。
正则表达式:
/-?[0-9]+/ -- note that the + matches 1 or more numbers
的preg_match语法:
preg_match('/-?[0-9]+/', $str, $match);
尝试取出''^从正则表达式的开始;这告诉正则表达式只匹配字符串开头的数字。 – Bojangles 2012-02-05 15:07:22
通过说提取您是否尝试删除负数和正数? – motto 2012-02-05 15:07:33