Python正则表达式高频应用包括:数字匹配(如\d+、\d{3}-\d{4}-\d{4})、邮箱与URL提取、噪声清理(re.sub去空格/标签/中文)、格式验证(fullmatch+先行断言)。

Python正则表达式(re模块)是文本处理的利器,但初学者常被语法绕晕。掌握几个高频、实用的模式,就能解决80%的日常需求——比如提取手机号、邮箱、日期,过滤空格或标签,验证格式是否合规。
数字是最基础也最常用的匹配目标。用\d代替[0-9]更简洁;加+表示“一个或多个”,*表示“零个或多个”。
r'\d+':匹配至少一位数字,如"abc123def" → "123"
r'\d{3}-\d{4}-\d{4}':匹配形如"138-1234-5678"的手机号分段格式r'\b\d{6}\b':用\b确保是独立6位数(如邮编),避免匹配到"1234567"中的子串邮箱和URL有较固定规律,可借助字符类和量词组合写出稳健模式。
r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}':覆盖主流邮箱格式(支持下划线、+号别名等),{2,}防止误匹配.c
r'https?://[^\s]+' :匹配以http://或https://开头、直到空白符为止的URL(简单有效,适合日志清洗)email-validator)数据预处理中,去空格、删HTML标签、合并换行是高频操作,re.sub()配合合适模式即可一行搞定。
立即学习“Python免费学习笔记(深入)”;
re.sub(r'\s+', ' ', text):把所有空白符(空格、制表、换行)替换成单个空格re.sub(r']+>', '', html_text):粗略去除HTML标签(不处理嵌套或自闭合标签,简单页面够用)re.sub(r'[\u4e00-\u9fff]+', '', text):移除中文(Unicode范围),适用于只需英文数字的场景用re.fullmatch()或^...$确保整个字符串完全匹配,避免部分匹配导致误判。
re.fullmatch(r'1[3-9]\d{9}', phone) —— 必须是11位、以13–19开头r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$',利用正向先行断言((?=...))做多条件检查r'^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$',限制月份和日期范围,比单纯\d{4}-\d{2}-\d{2}更可靠正则不是越长越强,而是越准越稳。从实际问题出发,先写样本数据,再小步调试模式,比死记语法更有用。多数时候,一个清晰的\d+或[^@]+@[^@]+\.[^@]+就已足够——不复杂但容易忽略细节。
以上就是Python正则常用模式总结_实用示例讲解【指导】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号