| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
本文档是关于在Python中使用re模块进行正则表达式的入门教程。它介绍了正则表达式的使用方法,包括编译、匹配、替换等功能,并讨论了正则表达式的元字符、重复限定符、字符类以及常见问题。文档强调了正则表达式在字符串操作中的强大功能,同时也提醒读者注意反斜杠转义问题、模块级函数的使用以及贪婪与非贪婪匹配的差异。 | ||
| AI总结 | ||
# Python 3.7.13 正则表达式 HOWTO 总结
## 概述
正则表达式(RE)是一种嵌入在 Python 中的微小编程语言,通过 `re` 模块提供。它允许你定义字符串的匹配规则,并用于匹配、搜索、替换或分割字符串。正则表达式模式会被编译成字节码,由高效的 C 编写的引擎执行。尽管正则表达式功能强大,但并非所有字符串处理任务都适合使用它,尤其是复杂任务可能需要使用 Python 代码。
---
## 简单模式
### 2.1 匹配字符
- 大多数字符(如 `a`、`b`)会匹配自己。
- 元字符(如 `.`、`^`、`$`、`*` 等)具有特殊含义,需转义后才能匹配自身。
- 字符类(如 `[a-z]`)匹配指定范围内的任意字符。
- 补集字符类(如 `^a-z`)匹配不在指定范围内的字符。
- 特殊序列(如 `\d`、`\w`)匹配特定字符集合。
### 2.2 重复
- `*` 匹配零次或多次。
- `+` 匹配一次或多次。
- `?` 匹配零次或一次。
- `{m,n}` 匹配至少 `m` 次,最多 `n` 次。
- 贪婪匹配默认尽可能多地匹配,非贪婪匹配则尽可能少地匹配。
---
## 使用正则表达式
### 3.1 编译正则表达式
- 使用 `re.compile()` 将正则表达式编译为模式对象,支持后续多次调用。
- 推荐使用原始字符串(`r''`)避免反斜杠转义问题。
### 3.2 反斜杠灾难
- 正则表达式中的反斜杠用于转义元字符,但在 Python 字符串中需再次转义。
- 使用原始字符串(`r''`)简化反斜杠处理。
### 3.3 应用匹配
- `match()` 检查正则是否从字符串开头匹配。
- `search()` 扫描字符串,查找任意位置的匹配。
- `findall()` 和 `finditer()` 返回所有匹配的子字符串或迭代器。
- `sub()` 用于搜索和替换字符串,支持替换函数。
### 3.4 模块级别函数
- `re` 模块提供顶级函数(如 `re.match()`、`re.sub()`),方便直接使用。
### 3.5 编译标志
- 标志(如 `re.IGNORECASE`、`re.DOTALL`)可修改正则表达式行为。
- 多个标志可通过按位或运算组合使用。
---
## 更多模式能力
### 4.1 更多元字符
- 元字符(如 `|`、`(`、`)`)用于分组、选择或重复。
### 4.2 分组
- 使用 `()` 创建捕获组,便于引用或处理子模式。
### 4.3 非捕获和命名组
- 非捕获组 `?:` 仅用于分组,不捕获内容。
- 命名组(如 `(?P | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
5 页请下载阅读 -
文档评分














Python 3.7.13 正则表达式 HOWTO