| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
本文是关于在 Python 中通过 re 模块使用正则表达式的入门教程。文档介绍了正则表达式的定义、基本语法、编译和应用方法,包括匹配字符、重复、分组、前视断言等功能。同时,还讨论了正则表达式的优化、常见问题及使用注意事项,如反斜杠灾难、多行匹配、扩展模式等。 | ||
| AI总结 | ||
# Python 3.12 正则表达式 HOWTO 总结
## 概述
正则表达式(Regular Expressions,简称 RE 或 regex)是一种嵌入 Python 并通过 `re` 模块实现的编程语言。它用于定义字符串匹配规则,支持以下操作:
- 检查字符串是否与表达式匹配
- 查找字符串中的匹配项
- 修改字符串或按规则分割字符串
正则表达式会被编译为字节码,由 C 语言引擎执行。本文不涉及优化,重点介绍基本用法。
## 简单正则
### 匹配字符
- 字母和符号通常直接匹配自身。
- 元字符(如 `.`、`^`、`$`、`*`、`+`、`?`、`{`、`}`、`[`、`]`、`\`、`|`、`(`、`)`)具有特殊含义。
- 字符类(`[]`)用于匹配字符集合,支持范围(如 `a-z`)和取反(`^` 在开头时表示排除)。
### 重复
- `*`:匹配零次或更多次。
- `+`:匹配一次或更多次。
- `?`:匹配零次或一次。
- `{m,n}`:匹配至少 `m` 次,最多 `n` 次。`m` 或 `n` 可省略,分别表示最小或最大无限制。
## 使用正则表达式
### 编译正则表达式
- 使用 `re.compile()` 将正则字符串编译为模式对象,支持多次调用。
- 示例:
```python
import re
p = re.compile(r'ab*')
```
### 反斜杠灾难
- 正则表达式中的反斜杠用于转义特殊字符,但在 Python 字符串中也需要转义。
- 使用原始字符串(`r''`)简化处理。
### 应用匹配
- `match()`:检查正则是否从字符串开头匹配。
- `search()`:扫描字符串,查找任意位置的匹配。
- 示例:
```python
m = p.match('tempo')
print(m.span()) # (0, 5)
```
### 模块级函数
- `re` 模块提供 `match()`、`search()`、`findall()`、`sub()` 等函数,直接使用正则字符串。
- 示例:
```python
print(re.match(r'From\s+', 'From amk Thu May 14 19:12:10 1998').span())
```
### 编译标志
- 支持多个标志(如 `re.IGNORECASE`、`re.MULTILINE`、`re.VERBOSE`)修改匹配行为。
- 示例:
```python
p = re.compile(r'ab*', re.IGNORECASE)
```
## 更多模式能力
### 分组
- 捕获组 `()` 用于提取子字符串。
- 非捕获组 `(?:...)` 用于分组但不捕获内容。
- 命名组 `(?P | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
5 页请下载阅读 -
文档评分














Python 3.12 正则表达式 HOWTO