我有一个这样的字符串:
SELECT NOW(),DATE_ADD(NOW(), INTERVAL -11 day)
我需要得到正数或负数。
我尝试使用:
preg_replace("/^-?[0-9]/", '', $str);
但它似乎无法发挥作用。
答案 0 :(得分:3)
如果你想从字符串中“提取”数字,而不是操纵它,那么preg_match()
就是你应该使用的。如果要从字符串中删除数字,只需从正则表达式中删除^
,这会限制正则表达式匹配字符串的开头。
<强>正则表达式:强>
/-?[0-9]+/ -- note that the + matches 1 or more numbers
preg_match语法:
preg_match('/-?[0-9]+/', $str, $match);