我有一个正则表达式,可以验证14个字符长度。 但现在我想验证它可以乘以2长度。
我当前的正则表达式为"(0[0-1][0-9][0-9][0-9][0-9]0[0-2]0[0-4]0[0-2]0[0-2])"
它只接受14个长度字符串
match : `00000002000102 00000002000101`
do not match : `00 , 0000 , 00000200,`
我想接受上面的这些也不匹配字符串。
我在下面解释了我想做什么
已编辑:
在这里,我将再次解释我的要求
请参阅我的字符串长度为14位,现在在我的字符串中,前两位数是强制性的。 我的String有6个不同的验证部分,我将在下面提到。
first part would be : 00 or 01 only : Sting length should be 2 only
second part would be : 0000-9999 any value between this. : Sting length should be 6 only
third part would be : 00 or 02 only : Sting length should be 8 only
fourth part would be : 00 or 01 or 04 only even not 03.: Sting length should be 10 only
fifth part would be : 00 or 01 or 02 : Sting length should be 12 only
sixth part would be : 00 or 01 or 02 : Sting length should be 14 only
请帮助我,让我知道我目前的注册实施中需要改变的内容
由于
答案 0 :(得分:1)
编辑:响应编辑过的问题中的规范:
像这样的东西;现在它真的是你的功课;)
^(0[0-1](?:[0-9]{4}(?:0[02](?:0[014](?:0[0-2](?:0[0-2])?)?)?)?)?)$
答案 1 :(得分:0)
您对第四组的定义
第四部分是:00或01或04,即使不是03。
目前尚不清楚。你在这需要02吗?
第四部分允许02
/^((0[01])|(0[01][0-9]{4})|(0[01][0-9]{4}0[02])|(0[01][0-9]{4}0[02]0[0124])|(0[01][0-9]{4}0[02]0[0124]0[0-2])|(0[01][0-9]{4}0[02]0[0124]0[0-2]0[0-2]))$/
第二部分不允许使用02
/^((0[01])|(0[01][0-9]{4})|(0[01][0-9]{4}0[02])|(0[01][0-9]{4}0[02]0[014])|(0[01][0-9]{4}0[02]0[014]0[0-2])|(0[01][0-9]{4}0[02]0[014]0[0-2]0[0-2]))$/
请注意您的初始模式接受的字符串超过14个符号,因为您没有使用^和$