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)$