python3 re.compile()处理选项时注意事项

868次阅读
没有评论

python3

之前小编还在说各位小伙伴们学习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条,小伙伴们使用时一定要在心里默念呀。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-26发表,共计1572字。
新手QQ群:570568346,欢迎进群讨论 Python51学习