# 原创
: Python正则表达式(一)
# Python正则表达式(一)
# 正则表达式
>
参考:[正则表达式](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F.md)
## 一、概述
## 二、匹配单个字符
```
# 正则表达式
nam.
# 匹配结果
My name is DS中的name
```
## 三、匹配一组字符串
```
abcd
abc1
abc2
# 匹配到了abcd
```
## 四、使用元字符
### 匹配空白字符
元字符 | 说明 |
|------
[\b] | 回退(删除一个字符) |
\f | 换页符 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\v | 垂直制表符 |
### 匹配特定的字符类别
#### 数字元字符
元字符 | 说明 |
|------
\d | 数字字符,等价于[0-9] |
\D | 非数字字符,等价于[^0-9] |
#### 字母数字元字符
元字符 | 说明 |
|------
\w | 大小写字母,下划线和数字,等价于[a-zA-Z0-9] |
\W | 对\w取非 |
#### 空白字符元字符
元字符 | 说明 |
|------
\s | 任何一个空白字符,等价于[\f\n\r\t\v] |
\S | 对\s取非 |
## 五、重复匹配
```
[\w.]+@\w+\.\w+
[\w.]+@[\w]+[\.][\w]+
```
## 六、位置匹配
### 单词边界
### 字符串边界
## 七、使用子表达式
```
192.168.0.1
00.00.00.00
555.555.555.555
```
匹配到了第一个
## 八、回溯引用
```
<h1>x</h1>
<h2>x</h2>
<h3>x</h1>
匹配到了前面两个
```
元字符 | 说明 |
|------
\l | 把下个字符转换成小写 |
\u | 把下个字符转换成大写 |
\L | 把\L和\E之间的字符全部转换成小写 |
\U | 把\U和\E之间的字符全部转换成大写 |
\E | 结束\L或者\U |
## 九、前后查找
## 十、嵌入条件
### 回溯引用条件
### 前后查找条件