大家好,我是正在实战各种AI项目的程序员晚枫。
今天聊一个让新手望而生畏、但学会后威力无穷的技能——正则表达式(Regular Expression)。
你可能觉得正则很难记、很晦涩。但其实只要掌握最常用的10个模式,就能搞定90%的文本处理需求。
这篇文章总结了我在数据处理中最常用的正则技巧,帮你快速上手。
为什么要学正则?
假设你要从一段文本中提取所有邮箱地址:
1 | # 不用正则(痛苦) |
正则就是文本处理的瑞士军刀。
Python中的正则模块
1 | import re |
10个必备正则模式
模式1:匹配数字
1 | import re |
模式2:匹配邮箱
1 | pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' |
模式3:匹配手机号(中国大陆)
1 | pattern = r'1[3-9]\d{9}' |
模式4:匹配URL
1 | pattern = r'https?://[^\s<>"{}|\\^`[\]]+' |
模式5:提取HTML标签内容
1 | # 提取title标签内容 |
模式6:验证密码强度
1 | def check_password(password): |
模式7:格式化字符串
1 | # 将驼峰命名转为下划线命名 |
模式8:清理文本
1 | text = " Hello!!! World??? " |
模式9:解析日志
1 | log_line = "2024-01-15 10:30:45 ERROR Connection timeout" |
模式10:批量重命名
1 | import os |
正则语法速查表
| 符号 | 含义 |
|---|---|
. | 任意字符(除换行) |
\d | 数字 [0-9] |
\w | 单词字符 [a-zA-Z0-9_] |
\s | 空白字符 |
* | 0次或多次 |
+ | 1次或多次 |
? | 0次或1次 |
{n} | 恰好n次 |
{n,m} | n到m次 |
^ | 字符串开头 |
$ | 字符串结尾 |
[] | 字符集 |
() | 分组 |
| | 或 |
推荐:AI Python零基础实战营
想系统学习Python文本处理?
课程内容:
- ✅ Python基础语法
- ✅ 正则表达式详解
- ✅ 数据清洗与处理
- ✅ 实战项目练习
🎁 限时福利:送《Python编程从入门到实践》实体书
👉 点击了解详情
相关阅读
PS:正则表达式是程序员的必备技能。记不住没关系,收藏这篇当速查手册。
