前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于python正则表达式场景收集(一)

关于python正则表达式场景收集(一)

作者头像
python与大数据分析
发布2022-03-11 14:00:29
2430
发布2022-03-11 14:00:29
举报
文章被收录于专栏:python与大数据分析

最近在研究数据质量校验规则,这个规则要确保数据录入的有效性校验,这个靠单纯的SQL或数据库正则表达式难以实现,python正则表达式可以有效解决这个问题,目前还在持续整理中。

记录了一下,re.search和re.match的匹配位置不太一样,通过字典方式形成质量规则,后期再结合数据库数据进行匹配,把这个链路打通。

代码示例

代码语言:javascript
复制
import re

# match()函数只检测RE是不是在string的开始位置匹配,
# search()会扫描整个string查找匹配;
# match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。
re_complex_mobile=re.compile('^(13\d|14[5|7]|15\d|166|17[3|6|7]|18\d)\d{8}$')
re_simple_mobile=re.compile('1[35678]\d{9}')
phone='aa15808909000'
res = re.search(re_simple_mobile, phone)
# <re.Match object; span=(2, 13), match='15808909000'>
res = re.match(re_simple_mobile, phone)
res = re.search(re_complex_mobile, phone)
res = re.match(re_complex_mobile, phone)
# None

mobile='15808909000'
errormobile1='aa15808909000'
errormobile2='158089090000'
telephone='0222-12345678'
email='1500000@139.aa.aa.com'
erroremail='1500000@139.aa.aa.aa.com'
date='2020-02-28'
errordate1='2020-02-30'
errordate2='2020-12-33'
errordate3='3000-02-28'
regex_dict = {'手机号复杂规则':'^(13\d|14[5|7]|15\d|166|17[3|6|7]|18\d)\d{8}$',
              '手机号简单规则': '^1[35678]\d{9}$',
              '电话号码规则':'^0(\d{2,3})-(\d{6,8})$',
              '电子邮件规则':'^([0-9a-zA-Z\_]{0,19})@(([0-9a-zA-Z]{1,13})\.){1,3}([com,cn,net]{1,3})$',
              '简单日期规则':'(\d{4}-\d{1,2}-\d{1,2})',
              '复杂日期规则':'(19[0-9]{2}|20[0-9]{2})-((0[469]|11)-([012][0-9]|30)|(0[13578]|1[02])-([012][0-9]|3[01])|(02-([01][0-9]|2[0-9])))'}
res = re.search(regex_dict['复杂日期规则'], date)
print(res)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python与大数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码示例
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档