我需要弄清楚这个正则表达式是什么意思?
"^[A-Z]{3}-[4-7]\d{2,4}\$$"
我认为它以 3 个字母开头,以 2,3 或 4 位数字结尾(也不确定 dubble $-sings)。
但我不明白这是什么意思:
-[4-7]
而且我也不确定为什么最后有 2 $...
谢谢
我需要弄清楚这个正则表达式是什么意思?
"^[A-Z]{3}-[4-7]\d{2,4}\$$"
我认为它以 3 个字母开头,以 2,3 或 4 位数字结尾(也不确定 dubble $-sings)。
但我不明白这是什么意思:
-[4-7]
而且我也不确定为什么最后有 2 $...
谢谢
^
字符串的开头[A-Z]{3}
一个字符从 A 到 Z 重复 3 次-
性格-
[4-7]
一个从 4 到 7 的数字\d{2,4}
从 0 到 9 的任何数字重复 2 到 4 次\$
性格$
$
字符串的结尾转到regex101.com并将正则表达式粘贴到那里......它会向您描述它。这将允许您在浏览器中测试您的正则表达式。
给一个人一条鱼,你喂他一天。教人钓鱼,你养他一辈子
正则表达式
/"^[A-Z]{3}-[4-7]\d{2,4}\$$"/
描述
" Literal "
^ Start of string
Char class [A-Z] 3 times [greedy] matches:
A-Z A character range between Literal A and Literal Z
- Literal -
Char class [4-7] matches:
4-7 A character range between Literal 4 and Literal 7
\d 2 to 4 times [greedy] Digit [0-9]
\$ Literal $
$ End of string
" Literal "
可视化!
此外,这不是正则表达式 (RegExp);那只是一个字符串。
如果你想让它成为一个正则表达式:
var re = new RegExp("^[A-Z]{3}-[4-7]\\d{2,4}\\$$");
要不就
var re = /^[A-Z]{3}-[4-7]\d{2,4}\$$/;
-[4-7]
表示-
后跟字符4
、5
和之一6
的字符7
。
第一个$
被转义 - 所以它$
在输入中表示 a,而第二个$
没有被转义,所以它表示字符串的结尾。
-
: 这实际上是减号-
。
[4-7]
:单个数字,4、5、6 或 7。
\$
只是一个转义$
符号,因此它被解释为文本,而不是“字符串结尾”。