是一个描述字符模式的对象
直接量定义为包裹在一对斜杠(/)间的字符
字母和数字字符 自身
\o NUL字符
\t 制表符
\n 换行符
\v 垂直制表符
\f 换页符
\r 回车符
\xnn 由十六进制数指定的拉丁字符
\uxxx 由十六进制数指定的unicode字符
\cX 控制字符^ X
[…] 方括号内的任意字符
[^…] 不在方括号内的任意字符
. 除换行符和其他Unicode行终止符之外的任意字符
\w 任何ASCII字符组成的单词,等价于 [a-zA-Z0-9]
\W 任何不是ASCII字符组成的单词,等价于[^a-zA-Z0-9]
\s 任何Unicode空白符
\S 任何非Unicode空白的字符
\d 任何ASCII数字,等价于【0-9】
\D 除了ASCII数字的任何字符,等价于【^ 0-9】
【\b】 退格直接量
{n,m} 匹配前一项n次,但不能大于m次
{n,} 匹配前一项n次或更多次
{n} 匹配前一项n次
? 匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}
+ 匹配前一项1次或多次,等价于{1,}
* 匹配前一项0次或多次,等价于{0,}
^ 匹配字符串的开头,在多行检索中,匹配一行的开头
$ 匹配字符串的结尾,在多行检索中,匹配一行的结尾
\b 匹配一个单词的边界
\B 匹配非单词边界
| 选择,匹配的是该符号左边的子表达式或右边的子表达式
(…) 组合,将几个项组合为一个单元
(?:…) 只组合,把项组合到一个单元,但不记忆与该组相匹配的字符
\n 和第n个分组第一次匹配的字符相匹配
补充:
如果大小写都可以,则在//后加上通配符 i
当多个字符串相连时,中间可用-,不需要【】括起来,此时不能少了^和$。
return /^\$(([1-9]\d{0,2}(,\d{3})*)|0)(\.\d{2})?$/ .test(str); //表达式的中间不能有空格。
[.]{1}和\. 一样 [$]{1}和\$