Javascript 正则表达式-有六个数字,以0、1或2开头
我需要一个正则表达式,它将匹配包含六位数字的数字。第一个数字必须是0、1或2 例如-054654或198098或265876Javascript 正则表达式-有六个数字,以0、1或2开头,javascript,regex,regex-negation,Javascript,Regex,Regex Negation,我需要一个正则表达式,它将匹配包含六位数字的数字。第一个数字必须是0、1或2 例如-054654或198098或265876 到目前为止,我发现:/^\d{6}$/-匹配一个包含六位数字的数字。如何添加第二个要求:第一个数字必须是0、1或2?您可以使用字符类: /^[012]\d{5}$/ 这告诉正则表达式引擎只匹配几个字符中的一个,在本例中是0、1或2。要创建字符类,请将要匹配的字符放在方括号中。您可以使用字符类: /^[012]\d{5}$/ /^(0|1|2)\d{5}$/ 这告诉
到目前为止,我发现:
/^\d{6}$/
-匹配一个包含六位数字的数字。如何添加第二个要求:第一个数字必须是0、1或2?您可以使用字符类:
/^[012]\d{5}$/
这告诉正则表达式引擎只匹配几个字符中的一个,在本例中是
0
、1
或2
。要创建字符类,请将要匹配的字符放在方括号中。您可以使用字符类:
/^[012]\d{5}$/
/^(0|1|2)\d{5}$/
这告诉正则表达式引擎只匹配几个字符中的一个,在本例中是0
、1
或2
。要创建字符类,请将要匹配的字符放在方括号之间
/^(0|1|2)\d{5}$/
这个应该管用
那一个应该工作这应该是你想要的:
/^(0|1|2)[0-9]{5}$/
|
表示或
这应该是您想要的:
/^(0|1|2)[0-9]{5}$/
|
表示或
,因此您编写的正则表达式/^\d{6}$/只匹配开头和结尾的6位数字。您必须在开头添加(0 | 1 | 2),其中|表示或,最后一个是/^(0 | 1 | 2)\d{5}$/或/^[012]\d{5}$/。因此您编写的/^\d{6}$/的正则表达式只匹配开头和结尾的6位数字。你必须在开头加上(0 | 1 | 2),其中|表示或,最后是/^(0 | 1 | 2)\d{5}$/或/^[012]\d{5}$/。读正则表达式教程。懒惰的我得到坏的代表:)读正则表达式教程。懒惰的我得到坏的代表:)我没有投反对票,但你用错了字符类。我将进行编辑。您不了解什么是字符类以及它是如何工作的。我删除了/g
修饰符,因为需要完整的字符串匹配,它只能匹配一次。我没有否决,但您使用的字符类是错误的。我将进行编辑。您不了解什么是字符类以及它是如何工作的。我删除了/g
修饰符,因为需要完整的字符串匹配,它只能匹配一次。这同样有效,谢谢!我应该使用哪一个答案?您应该使用/^[012]\d{5}$/
,因为带有替换的版本(如此答案)涉及更多回溯,因此效率较低。不过,您可以考虑可读性,在这种情况下,您可以使用此答案中的模式。这也很有效,谢谢!我应该使用哪一个答案?您应该使用/^[012]\d{5}$/
,因为带有替换的版本(如此答案)涉及更多回溯,因此效率较低。但是,您可以考虑可读性,在这种情况下,您可以使用这个答案中的模式。