2011-09-03 91 views
-1

我有一些字符串,如max_length[:num:],其中:num:可以是任何數字即(max_length[50]max_length[100]等)。preg_match匹配字符串,如「max_length [:num:]」

PHP中這些字符串的preg_match代碼是什麼?

+1

-1懶惰。 – Hnatt

+2

@Hnatt:就問題投票,而不是問題。 –

+0

我做到了。剛剛向Pawan解釋他爲什麼得到-1這個問題。因此,如果我冷靜下來,SO建議添加評論,以便詢問的人知道他爲什麼被低估。 – Hnatt

回答

2

試試這個:

'/max_length\[(\d+)\]/' 

\d+匹配一個或多個數字。

如果字符串必須只包含這個,用這個來代替:

'/^max_length\[(\d+)\]$/' 

您可以使用它像這樣:

$string = 'max_length[123]'; 
if (preg_match('/max_length\[(\d+)\]/', $string, $match)) { 
    $number = $match[1]; 
} 

這裏試試:http://ideone.com/a9Cux

+1

您可能想要使用單引號。只是要確定。 –

2

嘗試用:

/max_length\[([0-9]+)\]/ 

//編輯 作爲託默勒格Geret'kal指出,這也將匹配字符串,如:

aaa_max_length[100] 

如果你想匹配只喜歡$ foo的琴絃= 'MAX_LENGTH [100]',您的正則表達式應爲:

/^max_length\[([0-9]+)\]$/ 
+1

不要忘記你的開始和結束主播。 –

+1

編輯包含您的建議 – Qualcuno

+1

並感謝包含分隔符。所以很多人似乎都不想打擾>。< –