正则表达式:第一个字符必须是字母,总共6个字符

3
正则表达式是什么,它能匹配这些例子(6个字符,第一个是字母,其余是数字)的内容?
答案:^[a-zA-Z]\d{5}$
u78945 - valid
s56123 - valid
456a12 - invalid
78561d - invalid
1234567 - invalid

我不知道正则表达式在每种编程语言中是否相同。我需要它用于使用VB ASP.NET的正则表达式验证控件。

3个回答

6

使用这个模式:

^[a-z][0-9]{5}$

这将匹配任何一个拉丁字母(小写,除非使用不区分大小写的匹配)后跟着5个十进制数。

注意: 您可以使用\d代替[0-9],但是请阅读这篇文章来解释它们之间的区别。


谢谢 @p.s.w.g,我之前不知道\d可以匹配Unicode字符。虽然我还是会用它,但知道这点很好。;) - Andy G
@AndyG 两种都是有效的,具体取决于您需要什么。如果要验证用户输入,我更喜欢使用\d以支持国际化。如果确实想要确保0-9是唯一有效的值,那可能就应该使用它。 - p.s.w.g

2
[a-zA-Z]\d{5}

如果你想从行首开始搜索,可以使用^符号。

^[a-zA-Z]\d{5}

并在行末添加 $ 符号。

0
^[a(?i)-z(?i)]\d{5}$

(?i)代码使表达式能够接受任何字母,而不区分大小写。 \d{5}查找长度恰好为5的数字序列。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接