技术文章 > Python技术 > Python基础 > 正文

python3 re.compile()处理选项时需要注意什么?

小妮浅浅

之前小编还在说各位小伙伴们学习python的出错类型各种各样,轮到小编自己传文章的时候,都忘记了点击已审核,浪费了一小部分文章跟大家见面的时间,好在影响不是很大,小编很快就发现了这个疏忽。那么,我们最近在学习的 re.compile()处理选项时需要注意什么呢?接下来一起看看:


1、re.compile()传入第二个参数可以实现匹配选项,如 re.VERBOSE 可以编写注释;

2、其它选项:re.IGNORECASE 或 re.I 是忽略匹配的大小写,re.DOTALL 是让点号能够匹配所有字符

3、re.compile()的第二个参数只能接受一个值,我们可以使用管道|将这些选项组合起来,绕过这些限制:

someRegex = re.compile('foo', re.I | re.DOTALL | re.VERBOSE)


这样做的效果就是希望正则匹配不区分大小写,同时句点字符匹配换行,可以添加注释。

最后给大家分享几个常用的正则表达式,均来自这里:

# 校验密码强度
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ #包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间
 
# 校验中文
^[\\u4e00-\\u9fa5]{0,}$
 
# 由数字、26个英文字母或下划线组成的字符串
^\\w+$
 
# 校验E-Mail 地址
[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
 
# 校验18位身份证
^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$
 
# 校验日期
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$  # “yyyy-mm-dd“ 格式的日期校验,已考虑平闰年
 
# IP4 正则语句
\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b
 
# 提取URL链接
^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)? # 可在爬虫代码中使用
 
# 提取网页图片
\\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)
 
# 提取网页超链接
(<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
 
# 匹配HTML标签
<\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>


re.compile()处理选项时的注意点就只有3条,小伙伴们使用时一定要在心里默念呀~更多Python学习推荐:PyThon学习网教学中心

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 python3 re字符是什么?有什么用?
 python3 re闭包操作符是什么?有什么用?
 python3 re如何快速编译?
 python3 re有哪些返回形式?
 python3 re结合正则表达式如何使用?
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
作者信息

小妮浅浅

认证0级讲师

最近文章
推荐视频
视频教程分类