| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
本文是关于在 Python 中通过 re 模块使用正则表达式的入门教程。它详细介绍了正则表达式的功能,包括匹配字符、重复、编译正则表达式、处理字符串、使用组和断言等内容。文档还提供了如何处理反斜杠灾难、字符串方法与正则表达式的区别、以及如何使用正则表达式进行搜索和替换的指导。此外,还涵盖了正则表达式的高级功能,如命名组和前视断言。 | ||
| AI总结 | ||
# Python 正则表达式指南总结
本文是《Python 3.8.20 正则表达式 HOWTO》的中文总结,涵盖正则表达式的使用方法、核心功能及常见问题。
---
## 1. 概述
- **正则表达式**是一种嵌入 Python 的微小编程语言,用于匹配特定字符串或执行字符串操作。
- 正则表达式会被编译为字节码,由 C 语言引擎执行。
- 由于其局限性,某些复杂任务可能更适合用 Python 代码实现。
---
## 2. 简单正则
### 2.1 匹配字符
- **元字符**:如 `.`, `^`, `$`, `*`, `+`, `?`, `{}`, `[]`, `\`, `|`, `()`。
- **字符类**:`[abc]` 匹配 `a`、`b`、`c` 中的任意一个字符;`[a-z]` 匹配任意小写字母。
- 特殊字符在字符类中失去特殊含义(如 `s` 在字符类中表示字母 `s`)。
### 2.2 重复
- `*`:匹配零次或多次。
- `+`:匹配一次或多次。
- `?`:匹配零次或一次。
- `{m,n}`:匹配 `m` 到 `n` 次。
---
## 3. 使用正则表达式
### 3.1 编译正则表达式
- 使用 `re.compile()` 将正则表达式编译为模式对象。
- 示例:
```python
import re
p = re.compile(r'ab*') # 匹配 'a' 后跟零个或多个 'b'
```
### 3.2 反斜杠灾难
- 正则表达式中的反斜杠在 Python 字符串中需要转义,导致字符串难以阅读。
- 解决方法:使用原始字符串(`r''`),避免重复转义。
### 3.3 应用匹配
- 模式对象方法:
- `match()`:从字符串开头匹配。
- `search()`:扫描字符串查找任意位置的匹配。
- `findall()`:返回所有匹配子字符串。
- `finditer()`:返回匹配的迭代器。
### 3.4 模块级函数
- `re.sub()`:用于字符串替换。
- `re.split()`:用于字符串分割。
### 3.5 编译标志
- 使用标志(如 `re.IGNORECASE`)可以修改正则表达式行为。
---
## 4. 更多模式能力
### 4.1 更多元字符
- **零宽度断言**:如 `\b`(单词边界)、`^`(行开头)、`$`(行末尾)。
- **分组**:`()` 用于捕获子串,支持嵌套和重复。
- **非捕获组**:`(?:...)` 用于分组但不捕获内容。
- **命名组**:`(?P | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
6 页请下载阅读 -
文档评分














Python 3.8.20 正则表达式 HOWTO