2016-05-12 94 views
0

我试图验证一个字符串是5个字符长,或者如果它有一个前导零可以是6.我有这个的或部分的问题,到目前为止我的正则表达式是^(0)[a-zA-Z0-9]{5}$,但这是检查一个0,然后5位数字,所以没有零的5位数字是无效的。正则表达式仅用于验证长度为6时

是否有只在长度为6的情况下检查前导零的正则表达式?

+1

也许''?你为什么说* 5位数字*,但包括字母类的字母? –

+0

使用'?' (0)后立即使其成为可选项。 '0?'更多信息:http://www.mikesdotnetting.com/article/46/c-regular-expressions-cheat-sheet – meorfi

+0

我的答案是否解决了您的问题? –

回答

8

使领先0可选:

^0?[a-zA-Z0-9]{5}$ 

⬆This将匹配5个字符(在该范围azAZ09)含铅,或不通过一个0

如果您正在寻找5或6 : “^ 0 [0-9] {5} $”

^0?\d{5}$ 
+0

这将匹配超过5或6位数字。 –

+2

@WiktorStribiżewOP不清楚:*我想验证一个字符串是5 **字符**长* –