2011-10-04 191 views
0

我只想從字符串中獲取數字,其中數字包含在圓括號中。圓形括號內的PHP正則表達式編號

我有以下代碼:

$type_raw = $row['Type']; 
    $length_pattern = '^\(\d+\)$'; 

    preg_match($type_raw,$length_pattern,$match,PREG_OFFSET_CAPTURE); 
    $length = $match[0]; 

PHP給我以下錯誤:

「警告:的preg_match()[function.preg匹配]:定界符不能是字母數字或反斜線「 - 文件名 - 行號 - >」

我的正則表達式模式有什麼問題,或者它可能是什麼?

好吧,我只是改變了

$length_pattern = '^\(\d+\)$'; 

$length_pattern = '/^\(\d+\)$/'; 

和相同的錯誤彈出?

回答

3

PHP.net

int preg_match (string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]]) 

那麼你的將是:

$length_pattern = '/^\(\d+\)$/'; // with a delimiter "/" 

preg_match($length_pattern,$type_raw,$matches,PREG_OFFSET_CAPTURE); 
+0

哦嘆一口氣,我一定是缺乏醫療......這個作品,謝謝。 – FinalFortune

1

您需要爲您的正則表達式提供了一個分隔符:

$length_pattern = '/^\(\d+\)$/'; 
0

method signature是:

int preg_match (string $pattern , 
       string $subject 
       [, array &$matches 
       [, int $flags = 0 
       [, int $offset = 0 ]]]) 

因此,您需要反轉您的訂單,併爲您的正則表達式提供分隔符,例如/^\(\d+\)$/

相關問題