Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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,我有一个正则表达式,我想用它来解析英国邮政编码,但当输入的邮政编码没有空格时,它就不起作用了 ^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?){1,2}([0-9][ABD-HJLN-UW-Z]{2}GIR 0AA)$ 我需要对此正则表达式进行哪些更改,以便它在没有空格的情况下正常工作 如果我提供LS28NG,我希望正则表达式返回LS2和8NG的两个匹配项,这对我来说很有效,至少对于您的LS28NG示例是这样的: ^([A-PR-UWYZ0-9][A-H

我有一个正则表达式,我想用它来解析英国邮政编码,但当输入的邮政编码没有空格时,它就不起作用了

^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?){1,2}([0-9][ABD-HJLN-UW-Z]{2}GIR 0AA)$

我需要对此正则表达式进行哪些更改,以便它在没有空格的情况下正常工作


如果我提供
LS28NG
,我希望正则表达式返回
LS2
8NG
的两个匹配项,这对我来说很有效,至少对于您的
LS28NG
示例是这样的:

^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?) {0,2}([0-9][ABD-HJLN-UW-Z]{2}|GIR ?0AA)$

我将空格后的重复改为0-2,而不是1-2,并将
gir0aa
中的空格设置为可选。

尝试添加
\s{0,2}
,并在表达式的第一和第二部分放上括号:

^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?)\s{0,2}([0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$
用于:

它将匹配:

LS2 and 8NG
LS2 and 8NG

.

只需在第一组末尾添加一个可选空格
\s?

^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?\s?){1,2}([0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$

您好,我只是想检查一下:您希望正则表达式匹配
LS28NG
还是将其拆分并分别匹配
LS2
8NG
?可能是重复的
^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?\s?){1,2}([0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$