GY1-9 邮政编码的正则表达式
我正在尝试为我的运输部分创建一个不区分大小写的正则表达式,以捕获以 GY1 - GY9 开头的所有邮政编码(仅限单个数字)。到目前为止,它捕获了所有 gy 邮政编码,而不仅仅是 1-9。这是我到目前为止所得到的:
^[gG][yY][1-9]{1}
有什么想法吗?
编辑:
我根据下面的 Stema 答案使用了以下正则表达式:
^[gG][yY][1-9]\s?[1-9][a-zA-Z]{2}$
I'm trying to make a case insensitive regular expression for my shipping section that catches all postcodes which start with GY1 - GY9 (single figures only). So far, it catches all gy postcodes, not just 1-9. Here is what I have so far:
^[gG][yY][1-9]{1}
Any ideas?
Edit:
I used the following regex based on stema's answer below:
^[gG][yY][1-9]\s?[1-9][a-zA-Z]{2}$
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
试试这个
您的正则表达式匹配,因为您的数字后面可以有任何内容。
我使用否定先行断言
(?!\d)
来确保您的[1-9]
后面没有数字。末尾的标志
i
使正则表达式匹配不区分大小写,因此不需要[gG][yY]
查看它 在这里Regexr
编辑:
当第二部分只有 1 个前导数字时,您可以尝试此
查看 此处关于 Regexr
表示以“GY”开头,然后是 1-9 的数字,后跟可选空格,然后是另一个数字和两个字母。
Try this
Your regex matches because there can be anything following your digit.
I use the negative lookahead assertion
(?!\d)
to ensure that there is not a digit after your[1-9]
.The flag
i
at the end makes the regex matching case insensitive, so no need for[gG][yY]
See it here on Regexr
Edit:
When the second part can has only 1 leading digit you can try this
See it here on Regexr
Means starts with "GY" then a digit from 1-9, followed by an optional space, then another digit and two letters.
该描述可以立即转换为正则表达式:
读为:
~
模式定界符^
字符串开头gy
(文字)[1-9]
1 ... 9?
可选空格\d
一个数字[az]{2}
两个字母$
字符串结尾~
模式分隔符i
不区分大小写 -gy
以及[az]
均匹配大小写。That description can be transposed into a regular expression right away:
Read as:
~
pattern delimiter^
start of stringgy
(literal)[1-9]
1 ... 9?
optional space\d
one digit[a-z]{2}
two letters$
end of string~
pattern delimiteri
case insensitive -gy
as well as[a-z]
are matching both upper and lowercase.GY1
戈伊1
y1
gy1 ......
GY1
Gy1
gY1
gy1 .....
那应该解决它。 $ 表示 \d{1} 应该是字符串的结尾,因此它将接受“GY1”到“gy9”,但不接受“GY12”。请注意,使用
i
修饰符可以轻松区分大小写。That should fix it. The $ says that the \d{1} should be the ending of the string, so it will accept "GY1" through "gy9", but not "GY12". Note that case sensitivity is easily done with the
i
modifier.印刷
prints