From 61ee9304950073d82ef6b985eac9240c88aa3816 Mon Sep 17 00:00:00 2001 From: zhouzhongping Date: Tue, 14 Nov 2023 16:56:57 +0800 Subject: [PATCH] =?UTF-8?q?Python=EF=BC=9Are=20=E6=AD=A3=E5=88=99=E8=A1=A8?= =?UTF-8?q?=E8=BE=BE=E5=BC=8F=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../模块/文本处理/re --- 正则表达式操作.md | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Tech/programming-language/Python/模块/文本处理/re --- 正则表达式操作.md diff --git a/Tech/programming-language/Python/模块/文本处理/re --- 正则表达式操作.md b/Tech/programming-language/Python/模块/文本处理/re --- 正则表达式操作.md new file mode 100644 index 00000000..0968abc9 --- /dev/null +++ b/Tech/programming-language/Python/模块/文本处理/re --- 正则表达式操作.md @@ -0,0 +1,55 @@ +--- +title: re --- 正则表达式操作 +description: re --- 正则表达式操作 +keywords: + - Python + - re + - 正则表达式 +tags: + - Python/标准库 +author: 仲平 +date: 2023-11-14 +--- + +Python 的 `re` 库是一个非常强大的工具,用于执行正则表达式操作。这意味着它可以帮助你在文本中执行复杂的模式匹配、搜索、替换和解析任务。 + +## 正则表达式 + +正则表达式是一种特殊的文本字符串,用于描述搜索或匹配文本的一个模式。例如,你可以用它来查找所有的电子邮件地址、电话号码或特定单词的出现。 + +编写正则表达式需要学习其特殊的语法,其中一些常用的元素包括: + +- **字面字符**:大多数字符在正则表达式中表示它们自己。 +- **元字符**:如 `.`(匹配任何单个字符)、`^`(匹配字符串的开始)、`$`(匹配字符串的结尾)。 +- **字符类**:用方括号定义,如 `[a-z]` 匹配任何小写字母。 +- **特殊序列**:如 `\d` 匹配任何数字,`\s` 匹配任何空白字符。 + +## Python 中的 `re` 模块 + +在 Python 中,`re` 模块提供了一系列函数和语法用于在字符串中应用正则表达式。首先,你需要导入模块: + +```python +import re +``` + +## 基本函数 + +`re` 模块提供了几个基本函数来处理正则表达式: + +- **`re.search(pattern, string)`**:在字符串中搜索第一个与模式匹配的部分。如果找到匹配,它返回一个匹配对象;否则返回 `None`。 +- **`re.match(pattern, string)`**:如果字符串的开始处匹配模式,返回一个匹配对象。 +- **`re.findall(pattern, string)`**:返回字符串中所有与模式匹配的部分的列表。 +- **`re.sub(pattern, repl, string)`**:替换字符串中的模式匹配项。 + +## 分组捕获 + +使用圆括号可以在正则表达式中创建“组”。组可以帮助你提取正则表达式匹配的部分。例如: + +```python +pattern = r'(\b\w+)@(\w+\.\w+)' +match = re.search(pattern, "username@example.com") +if match: + print(match.group()) # 整个匹配 + print(match.group(1)) # 第一个括号内的匹配 + print(match.group(2)) # 第二个括号内的匹配 +```