登录
首页 >  文章 >  python教程

Python正则表达式常用模式详解

时间:2026-01-04 08:25:34 155浏览 收藏

目前golang学习网上已经有很多关于文章的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《Python正则常用模式详解及示例》,也希望能帮助到大家,如果阅读完后真的对你学习文章有帮助,欢迎动动手指,评论留言并分享~

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

Python正则常用模式总结_实用示例讲解【指导】

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等结构化文本

邮箱和URL有较固定规律,可借助字符类和量词组合写出稳健模式。

  • r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}':覆盖主流邮箱格式(支持下划线、+号别名等),{2,}防止误匹配.c
  • r'https?://[^\s]+' :匹配以http://https://开头、直到空白符为止的URL(简单有效,适合日志清洗)
  • 注意:不建议用正则“完美”校验邮箱——RFC标准太复杂,生产环境推荐用专用库(如email-validator

清理与替换常见噪声

数据预处理中,去空格、删HTML标签、合并换行是高频操作,re.sub()配合合适模式即可一行搞定。

  • 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开头
  • 密码强度(含大小写字母+数字,至少8位):r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$',利用正向先行断言((?=...))做多条件检查
  • 日期(YYYY-MM-DD):r'^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$',限制月份和日期范围,比单纯\d{4}-\d{2}-\d{2}更可靠

正则不是越长越强,而是越准越稳。从实际问题出发,先写样本数据,再小步调试模式,比死记语法更有用。多数时候,一个清晰的\d+[^@]+@[^@]+\.[^@]+就已足够——不复杂但容易忽略细节。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>