JS 正则表达式

## 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````
  - 除了单词边

原文地址:https://www.cnblogs.com/huifang/p/7342018.html