2012-02-05 38 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); 
相關問題