我試圖驗證使用正則表達式英國的郵政編碼的格式在這裏找到:UK Postcode Regex (Comprehensive)PHP的preg_match未知的修飾
我測試的PHP代碼如下,以$代碼郵政編碼測試
$regex = '(GIR 0AA)|((([A-Z-[QVX]][0-9][0-9]?)|(([A-Z-[QVX]][A-Z-[IJZ]][0-9][0-9]?)|(([A-Z-[QVX]][0-9][A-HJKSTUW])|([A-Z-[QVX]][A-Z-[IJZ]][0-9][ABEHMNPRVWXY]))))\s?[0-9][A-Z-[CIKMOV]]{2})';
echo preg_match($regex,strtoupper($code));
我得到這個錯誤:Message: preg_match() [function.preg-match]: Unknown modifier '|'
我不認爲正則表達式本身就是問題 - 它被驗證爲答案,並有相當多的流量,所以我相信它一定適用於其他人。
你能看到我做錯了什麼嗎?我不是正則表達式專家,所以我很掙扎。在Regex to validate UK Post Codes的問題是非常相似,但通過實施解決方案(在開始時加^和在結尾$),我得到一個新的錯誤「無結束分隔符^」發現「...
沒錯這是基本相同的問題 - 我沒有看到它在搜索時,由於第一其它類似的問題並沒有解決我的情況。 – Anak