正则表达式 - 有六位数字,以 0、1 或 2 开头

Regex - has six digits, starts with 0, 1, or 2

我需要一个正则表达式来匹配包含六位数字的数字。第一个数字必须是 0、1 或 2。

例如 - 054654 或 198098 或 265876。

到目前为止我得到了这个:/^\d{6}$/ - 匹配一个包含六位数字的数字。如何添加第二个要求:第一个数字必须是 0、1 或 2?

你可以只使用一个字符 class:

/^[012]\d{5}$/

这告诉正则表达式引擎只匹配几个字符中的一个,在本例中为 012。要创建字符 class,请将要匹配的字符放在方括号中。

/^(0|1|2)\d{5}$/ 

那个应该有用

这应该可以满足您的要求:

/^(0|1|2)[0-9]{5}$/

| 表示 or.

因此您编写的正则表达式 /^\d{6}$/ 仅匹配开头和结尾的 6 位数字。您必须在 | 的开头添加 (0|1|2)表示或,最后是 /^(0|1|2)\d{5}$/ 或 /^[012]\d{5}$/.