Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
英国邮政编码Regex_Regex - Fatal编程技术网

英国邮政编码Regex

英国邮政编码Regex,regex,Regex,可能重复 我需要一个正则表达式语法,它接受POST代码,如以下格式 CR03JP cr03jp CR0 3JP cr0 3jp 我现在拥有的是 ^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$ 它接受CR0 3JP但拒绝CR3JP CR03JP 我也尝试了以下方法 /((GIR 0AA)|((([A-PR-UWYZ][0-9][0-9

可能重复

我需要一个正则表达式语法,它接受POST代码,如以下格式

CR03JP
cr03jp
CR0 3JP
cr0 3jp
我现在拥有的是

 ^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$ 
它接受
CR0 3JP
但拒绝
CR3JP CR03JP

我也尝试了以下方法

/((GIR 0AA)|((([A-PR-UWYZ][0-9][0-9]?)|(([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|(([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY])))) [0-9][ABD-HJLNP-UW-Z]{2}))/i
如果已经回答了这个问题,请给我指出链接

使用这个正则表达式

^ ?(([BEGLMNSWbeglmnsw][0-9][0-9]?)|(([A-PR-UWYZa-pr-uwyz][A-HK-Ya-hk-y][0-9][0-9]?)|(([ENWenw][0-9][A-HJKSTUWa-hjkstuw])|([ENWenw][A-HK-Ya-hk-y][0-9][ABEHMNPRVWXYabehmnprvwxy])))) ?[0-9][ABD-HJLNP-UW-Zabd-hjlnp-uw-z]{2}$

问题是您需要在中间放置1或2个空格

^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$
                                                                ^^^
将此更改为
{0,2}
,它还将接受中间没有空格的邮政编码。看


另外,
i
修饰符用于不区分大小写的匹配,就像您在第二个正则表达式中使用的那样。

对正则表达式使用“不区分大小写修饰符”,然后只处理普通的大写字母,不是更简单吗?谢谢您的即时回复Prasanth的回答解决了我的问题prob@DinkaranIlango ,如果此答案解决了您的问题,请将其标记为答案:)