re Python · 常用模块
`re` 模块用于处理正则表达式,可以在文本中查找、匹配、替换符合特定模式的内容。就像给你一个“文字探测器”,你能定义一种规则(比如“找所有手机号”),然后用它去扫描一大段文字,把所有符合规则的内容找出来。查找、匹配、替换,耳熟吗?跟常用办公软件里的功能一样。
怎么用
先 `import re`,然后使用 `re.match`、`re.search`、`re.findall`、`re.sub` 等函数。
小例子
import re
文本 = "我的电话是13812345678,也可以打13987654321"
手机号 = re.findall(r"\d{11}", 文本) # 找出所有11位数字
print(手机号)
替换 = re.sub(r"\d{11}", "[手机号]", 文本) # 替换手机号
print(替换)
运行结果
['13812345678', '13987654321'] 我的电话是[手机号],也可以打[手机号]
对比:手动查找需要写复杂的字符串操作
# 要找出所有11位数字,需要循环判断每个字符,非常麻烦 用正则表达式可以简洁地描述复杂模式。
常见使用场景
1. 验证输入格式:
import re
def 是否手机号(文本):
return bool(re.match(r"^1[3-9]\d{9}$", 文本))
print(是否手机号("13812345678"))
2. 提取信息:
email = re.search(r"[\w.+-]+@[\w-]+\.[\w.]+", 文本)
3. 批量替换文本。
提醒:- 正则表达式语法丰富,需要专门学习。 - `re.findall` 返回所有匹配的列表。 - `re.sub` 返回替换后的新字符串。 - 注意转义字符,`\d` 表示数字,`\w` 表示字母数字下划线等。
在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条