正则表达式 国际标准 跨越语言的
实际开发中使用的正则一定是非常标准、非常严谨的
用来验证字符串
基础知识
1. 字面量匹配
2. 特殊字符
. 匹配所有的字符
^ 字符串的开始
$ 字符串的结尾
3. 转义字符 \n \t
```js
var str = "asd asdf asdfa asdf"
var str = "abc abc"
```
\n 换行符
\r 回车符
\t 制表符
\d 0-9之间的数字
\D 非数字
\s 匹配空白字符 换行 回车 制表 空格
\S 非空格
\b 字符边界
\B 非字符边界
\w 匹配数字、 字母、_
\W 非数字字母_
4. 特殊的转义字符
```js
var str = "211213asdsf."
\.
var str = "\asdfasdfas\123"
\\ 将\做转义
```
5. 字符集
[abc|123] 匹配[]中所有的字符
6. 量词
规则* 前面的规则出现0次或者一次
规则+ 前面的规则出现一次或者多次
规则? 前面的规则出现一次
规则{n} 前面的规则只能出现n次
规则{n,m} 前面的规则只能出现n-m次
规则{n,} 前面的规则最少出现n
7. 或者 |
规则1 | 规则2
8. 括号()
```js
^(\d\w)$
```
9. 中文
```js
\u4e00-\u9fa5 基本汉字
```
## js中使用正则
1. 字面量和new RegExp(正则)
```js
var reg = /\u4e00-\u9fa5/;
var reg = new RegExp(/\d/);
```
2. test()验证某个字符串是否满足正则