我想弄清楚如何使自定義模式與preg_match/preg_match_all一起使用。preg_match自定義模式
我需要找到[A-Z]{3}[a-z]{1}[A-Z]{3}
,這將是一個示例AREfGER。 3個大寫字母,1個小寫字母和3個大寫字母。
有人知道如何爲此製作圖案嗎?
我想弄清楚如何使自定義模式與preg_match/preg_match_all一起使用。preg_match自定義模式
我需要找到[A-Z]{3}[a-z]{1}[A-Z]{3}
,這將是一個示例AREfGER。 3個大寫字母,1個小寫字母和3個大寫字母。
有人知道如何爲此製作圖案嗎?
你可以這樣做:
if(preg_match('/^[A-Z]{3}[a-z][A-Z]{3}$/',$input)) {
// $input has 3 uppercase, 1 lowercase and 3 uppercase.
}
您可以刪除{1}
爲多餘的。
另外請確保您添加開始錨點^
和結束錨點$
。如果沒有他們,即使模式在輸入的任何地方找到,也會報告成功。例如@AREfGER#
編輯:
要查找文本,您可以使用preg_match_all
所有比賽:
if(preg_match_all('/([A-Z]{3}[a-z][A-Z]{3})/',$input,$match)) {
// array $match[1] will have all the matches.
}
簡單:
preg_match('#[A-Z]{3}[a-z][A-Z]{3}#', $some_string);
如果此有匹配字符串作爲一個整體:使用開始和結束錨點
preg_match('#^[A-Z]{3}[a-z][A-Z]{3}$#', $some_string);
是否可以列出所有匹配項? – NoobiCake 2010-09-15 09:35:52
如果你只是想看看這些匹配,那麼在你完成codaddict提示的'preg_match_all()'調用之後,執行以下操作:'echo'
'; exit;' – 2010-09-15 14:53:48