* ^开始$结束
* 规则
* 1表示一位
* 单个字符
* a:匹配字母a
* \\:匹配转义字符\
* \t:匹配转义字符\t
* \n:匹配转义字符\n
* 一组字符:匹配里面的任何一个字符
* [abc]:可能是a,可能是b,可能是c
* [^abc]:不是a,不是b,不是c
* [a-zA-Z]:表示全部字母中的任意一个
* [0-9]:表示全部数字的任意一个
* 边界匹配:js中使用正则需要
* ^:一组正则的开始
* $:一组正则的结束
* 简写表达式:每一位出现的简写标记也只表示一位
* .:表示任意的一位字符
* \d:表示任意一位数字,等价于[0-9]
* \D:表示任意的一位非数字,等价于[^0-9]
* \w:表示任意一位的字母、数字、_,等价于[a-zA-Z0-9_]
* \W:[^a-zA-Z0-9_]
* \s:这促成任意的一位空格,如\n,\t
* \S:表示任意的一位非空格
* 2数量表示
* ?:0次或1次
* +:1次或多次
* *:0次,1次或多次
* {n}:出现n次
* {n,}出现n次以上
* {n,m}出现n次到m次
* 3逻辑表示
* 表达式A表达式B:表示A与B
* 表达式A|表达式B:表示A或B
* (正则表达式),将多个子表达式合成一个