^ 匹配输入字符串的开始位置 (当该符号在方括号表达式中使用时,表示取反)
$ 匹配输入字符串的结尾位置
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次
{n} n 是一个非负整数。匹配确定的 n 次。
{n,} n 是一个非负整数。至少匹配n 次。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
\ 转义符号
\f 匹配一个换页符。
\n 匹配一个换行符。
\r 匹配一个回车符。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。(注意 Unicode 正则表达式会匹配全角空格符。)
\S 匹配任何非空白字符。
\t 匹配一个制表符。
\v 匹配一个垂直制表符。
. 匹配除换行符 \n 之外的任何单字符
[ABC] 匹配 […] 中的所有字符,例如 [aeiou] 匹配字符串 "google runoob taobao" 中所有的 e o u a 字母。
[^ABC] 匹配除了 […] 中字符的所有字符,例如 [^aeiou] 匹配字符串 "google runoob taobao" 中除了 e o u a 字母的所有字母。
[A-Z] [A-Z] 表示一个区间,匹配所有大写字母,[a-z] 表示所有小写字母。
[\s\S] 匹配所有。\s 是匹配所有空白符,包括换行,\S 非空白符,包括换行。
\w 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
() 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。
() 表示捕获分组,() 会把每个分组里的匹配的值保存起来, 多个匹配值可以通过数字 n 来查看(n 是一个数字,表示第 n 个捕获组的内容)。
$1,$2表达的是小括号里面的内容
$1是第一个小括号里的内容,$2是第二个小括号里面的内容,依此类推
比如/(\d{4})(\d{2})(\d{2})/ 匹配"20190919"
$1是第一个括号里匹配的2019
$2是第二个括号里匹配的09
$3是第三个括号里匹配的19
测试正则表达式 "20190919".replace(/(\d{4})(\d{2})(\d{2})/,"$3-$2-$1");
/^[0-9]*$//^\d{n}$//^\d{n,}$//^\d{m,n}$//^(0|[1-9][0-9]*)$//^([1-9][0-9]*)+(.[0-9]{1,2})?$//^(\-)?\d+(\.\d{1,2})?$//^(\-|\+)?\d+(\.\d+)?$//^[0-9]+(.[0-9]{2})?$//^[0-9]+(.[0-9]{1,3})?$//^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$//^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$//^\d+$ 或 ^[1-9]\d*|0$//^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$//^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$/