🧠 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次或多次 |
? |