跳到主要内容

🧠 Python 标准库 - re 模块详解(正则表达式)

re 模块用于处理正则表达式,可以进行字符串的模式匹配、搜索、替换等操作。


📌 1. 匹配模式搜索(匹配 vs 搜索

  • 匹配(match)从字符串起始位置开始匹配,匹配成功返回匹配对象,否则返回 None
  • 搜索(search)在整个字符串中搜索第一个匹配项。
导入 re

模式 = re.编译(r"你好")

匹配结果 = 模式.匹配("你好,世界")
如果 匹配结果:
打印("匹配成功:", 匹配结果.())

搜索结果 = 模式.搜索("欢迎你来到你好世界")
如果 搜索结果:
打印("搜索成功:", 搜索结果.())

📌 2. 查找所有匹配项(查找所有

findall 返回字符串中所有匹配的子串列表。

导入 re

文本 = "apple, banana, orange, apple"

结果 = re.查找所有(r"apple", 文本)

打印(结果) # 输出 ['apple', 'apple']

📌 3. 替换(替换

使用 sub 函数替换匹配的字符串。

导入 re

文本 = "猫和狗是好朋友"

替换结果 = re.替换(r"猫", "狗", 文本)

打印(替换结果) # 输出 "狗和狗是好朋友"

📌 4. 分割字符串(分割

用匹配的模式拆分字符串。

导入 re

文本 = "苹果,香蕉;橙子,梨子"

结果 = re.分割(r"[;,]", 文本)

打印(结果) # 输出 ['苹果', '香蕉', '橙子', '梨子']

📌 5. 正则表达式常用语法

表达式含义
.匹配任意单个字符(除换行符)
^匹配字符串开始
$匹配字符串结束
*匹配前一个字符0次或多次
+匹配前一个字符1次或多次
?匹配前一个字符0次或1次
{n}匹配前一个字符n次
[abc]匹配字符集中的任意一个字符
\d匹配数字字符
\w匹配字母数字及下划线
\s匹配空白字符(空格、换行等)