## JS 正则表达式
- 正则表达式用来定义一些字符串的规则
- 计算机可以根据这些规则来判断字符串是否符合规则
- 或者从一个字符串中将符合规则的内容提取出来
#### 构造函数创建正则表达式
- var 变量 = new RegExp("正则表达式","匹配模式")
- 第一个参数: 表示检查一个字符串中是否有该参数的正则表达式
- 第二个参数: 可以传递一个匹配模式的字符串
- g 全局匹配模式
- i 忽略大小写匹配
- test()
- 检查字符串是否符合正则表达式要求
- 符合返回true
#### 字面量创建正则表达式
var 变量 = /正则表达式/匹配模式
##### 规则
- | 表示 或
- [ ] 中括号中的内容也表示 或
- [a-z] 任意的小写字母
- [A-z] 任意的字母
- [0-9] 任意的数字
- [^a-z]; 除了小写字母
- [^a-z0-9] 除了小写字母和数字
#### 字符串和正则相关方法
##### split()
- 这个方法中可以传递一个正则表达式传递作为参数.这样将会根据正则表达式拆分字符串
- split()拆分字符串时,无论是否指定全局匹配,都会全都拆
##### search()
- 可以用来搜索一个字符串中是否含有指定内容
- 查询到就返回它第一次出现的索引位置
- 如果没有结果返回 -1
- 也可以接收一个正则表达式作为参数.将会根据正则表达式去字符串中查询内容
- 只会匹配第一个.即使加了全局匹配
##### match()
- 根据正则表达式将字符串中符合要求的内容提取出来
- 默认情况下只匹配第一个符合条件的内容
##### replace()
- 可以将字符串的指定内容替换为新内容
- 第一个参数: 被替换的旧内容
- 第二个参数: 新的内容
#### 正则表达式量词
- {n} 正好出现的次数
- {m,n} 出现m-n次之间
- {n,} 至少出现n次
- + 至少出现一次.相当于{1,}
- * 0个或多个. 相当于{0,}
- ? 0个或一个 相等于{0,1}
- ^ 以x表示开头
- $ 以x表示结尾
#### 正则表达式转义符号
- ````.```` 表示 .
- ````\```` 表示
- ```` w````
- 相当于[A-z 0-9 _]
- 任意字母数字下划线
- ```` W````
- 相当于[^A-z 0-9 _]
- 除了字母数字下划线
- ```` d````
- 任意数字 (有)
- ````D````
- 除了数字
- ````s````
- 空格 (有)
- ````S````
- 除了空格
- ````````
- 单词边界
- ````B````
- 除了单词边