Я пытаюсь проверить формат британских почтовых индексов, используя регулярное выражение здесь: 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