这是我的邮政编码正则表达式
^[a-zA-Z0-9]{1,9}$
但不允许A-12345
。如何更改-
也将被允许的正则表达式?
答案 0 :(得分:3)
在字符集(-
)的开头或结尾添加[...]
:
^[-a-zA-Z0-9]{1,9}$
为什么在开头或结尾?:如果将-
作为第一个或最后一个字符放置,它将按字面匹配-
而不是匹配范围字符。
答案 1 :(得分:2)
试试这个:
^[a-zA-Z0-9-]{1,9}$
这将匹配由1到9个拉丁字母,十进制数字或连字符组成的字符串。如果您使用CASE_INSENSITIVE标志,则可以将其简化为:
^[a-z0-9-]{1,9}$