# 正则表达式
### 定义
* 对字符串进行描述的
### 作用
* 表单验证
* 验证 邮箱/电话/邮编 ....
* WEB编辑器
* 爬虫、数据抓取、小偷程序
### 定义正则表达式
* 直接量
* 函数
* 构造函数
# 正则表达式基础
### 原子
* 正则表达式的最小组成单位
* 普通的字母、数字、符号 都是原子
* 转义字符
* 字符类
### 字符直接量(原子)
* 原子的重要组成
* 普通的字母、数字、符号
*
*
*
* v
* f
* \
* 退格符
* x00
* u0000
### 字符类(原子)
* d 数字 [0-9]
* D 除了数字之外的字符 [^0-9]
* w 数字、字母、下划线 [0-9a-zA-Z_]
* W 除了数字、字母、下划线 之外的字符 [^0-9a-zA-Z_]
* s 空白符 [
v
f ]
* S 除了空白符之外的字母 [^
v
f ]
* . 除了换行外所有的字符 [^
]
* [...]
* [^...]
* [] 匹配退格符
### 重复(对原子的数量修饰)
* + 表示前面原子出现1次或多次 {1,}
* ? 表示前面的原子出现0次或1次 {0,1}
* * 表示前面的原子出现0次1次或多次 任意次 {0,}
* {m} 前面的原子出现m次
* {m,n} 前面的原子出现m到n次
* {m,} 前面出现的原子个数m次以上
### 指定匹配的位置 (对原子位置的修饰)
* 单词边界
* B 不是单词边界
* ^ 字符串开始边界
* $ 字符串结束边界