| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
本文是关于在 Python 中通过 re 模块使用正则表达式的入门教程。文档详细介绍了正则表达式的使用方法,包括匹配字符、重复操作符、字符类、元字符、正则表达式的编译和应用,以及常见问题如贪婪与非贪婪匹配、match() 和 search() 的区别等。正则表达式在 Python 中被编译成模式对象,用于匹配和处理字符串。 | ||
| AI总结 | ||
### Python 3.13 正则表达式 HOWTO 总结
#### 摘要
本文是 Python 中使用 `re` 模块操作正则表达式的入门教程。正则表达式是一种嵌入 Python 的小型编程语言,用于匹配字符串、查找模式、修改字符串等操作。本文主要介绍了正则表达式的基础知识、使用方法及常见问题。
---
#### 1. 引言
- 正则表达式(Regular Expressions,简称 RE 或 regex)是一种强大的字符串操作工具。
- 正则表达式会被编译为字节码,由 C 语言引擎执行。
- 正则表达式语言相对有限,不适用于所有字符串任务,复杂任务建议用 Python 代码实现。
---
#### 2. 简单正则
- **匹配字符**:大多数字符直接匹配自身,但元字符(如 `.`、`^`、`$`、`*`、`+`、`?`、`{`、`}`、`[`、`]`、`\`、`|`、`(`、`)`)具有特殊含义。
- **字符类**:`[]` 表示字符集合,支持范围(如 `a-z`)和取反(`^` 放在开头)。
- **反斜杠**:用于转义元字符或表示特殊序列(如 `\d` 匹配数字,`\w` 匹配字母和数字)。
- **重复**:
- `*`:匹配零次或更多次。
- `+`:匹配一次或更多次。
- `?`:匹配零次或一次。
- `{m,n}`:匹配至少 `m` 次,最多 `n` 次。
---
#### 3. 使用正则表达式
- **编译正则**:使用 `re.compile()` 将正则字符串编译为模式对象,可提高性能。
- **反斜杠灾难**:正则中的反斜杠需要转义,建议使用原始字符串(`r'...'`)避免混乱。
- **匹配方法**:
- `match()`:从字符串开头匹配。
- `search()`:扫描字符串查找任意位置的匹配。
- `findall()`:返回所有匹配子字符串。
- `sub()`:用于字符串替换,支持回调函数。
---
#### 4. 更多模式能力
- **分组**:使用 `()` 捕获子字符串,支持嵌套分组和后向引用。
- **前视断言**:`^` 匹配字符串开头,`$` 匹配结尾,`\b` 匹配单词边界。
- **修改字符串**:`split()` 分割字符串,`sub()` 替换字符串。
---
#### 6. 常见问题
1. **使用字符串方法**:固定字符串操作(如替换、删除)优先使用字符串方法(如 `replace()`、`translate()`),比正则更快。
2. **match() 和 search()**:
- `match()` 只匹配字符串开头。
- `search()` 会扫描整个字符串。
3. **贪婪与非贪婪**:
- 默认情况下,重复符(如 `*`、`+`)是贪婪的,会尽可能多地匹配。
- 非贪婪模式(如 `*?`)会尽可能少地匹配。
4. **使用 re.VERBOSE**:
- 允许忽略空格和注释,提高可读性。
- 示例:
```python
pat = re.compile(r'''
\s* # Skip leading whitespace
(?P | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
5 页请下载阅读 -
文档评分














Python 3.13 正则表达式 HOWTO