Regex 如何限制正则表达式中的字符?

Regex 如何限制正则表达式中的字符?,regex,Regex,我正试图实现这样的情景 2014-000000-01 [[0-9]{0,3}\-[0-9]{0,5}\-[0-9]{0,1}] 我希望限制用户在破折号前插入的字符不超过4个 破折号后,他可以输入少于六个字符的六个字符,第二次破折号后,他不能插入少于或大于两个字符 有谁能指出我该如何做到这一点 提前谢谢 /[0-9]{4}-[0-9]{0,6}-[0-9]{1,}/ 根据上下文,您可能需要使用开始和结束锚定。如果它在验证器中,有时会暗示它匹配整个字符串。如果不是,它仍然会匹配,例如,即使开头有

我正试图实现这样的情景

2014-000000-01

[[0-9]{0,3}\-[0-9]{0,5}\-[0-9]{0,1}]
我希望限制用户在破折号前插入的字符不超过4个 破折号后,他可以输入少于六个字符的六个字符,第二次破折号后,他不能插入少于或大于两个字符

有谁能指出我该如何做到这一点

提前谢谢

/[0-9]{4}-[0-9]{0,6}-[0-9]{1,}/

根据上下文,您可能需要使用开始和结束锚定。如果它在验证器中,有时会暗示它匹配整个字符串。如果不是,它仍然会匹配,例如,即使开头有超过4个数字

这里有锚:
^\d{4}-\d{1,6}-\d{2}$

不要插入多于或少于4个字符-这是否意味着正好是4个字符?正好是4个:
{4}
,6个或更少:
{1,6}
,正好是2个:
{2}
。您的要求似乎与您的尝试不匹配,但要删除最外层的
[/code>和
]
你就快到了。@lucas是的,精确到4个字符