我试图验证使用正则表达式英国的邮政编码的格式在这里找到: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