文本匹配及提取 - 1、正则表达式

身份证规则:
1、地址码:长6位,以数字1-9开头,后5位为0-9的数字
2、年份码:长4位,以数字18、19、20开头,剩余2位为0-9的数字
3、月份码:长2位,第一位数字为0,第二位数字为1-9;或者第一位数字为1,第二位数字为0-2
4、日期码:长2位,第一位数字为0-2,第二位数字为1-9;或者是10,20,30,31
5、顺序码:长3位,是数字0-9
6、校验码:长1位,可以是数字、字母x或字母X

# 找出以下正确的身份证信息

text = '''
    小a身份证:220202116309260325
    小b身份证:22020219551213031X
    小c身份证:420683199711195520
    小d身份证:420683200819105439
'''

正则表达式:
([1-9]\d{5})((18|19|20)\d{2})((0[1-9]|1[0-2]))(([0-2][1-9])|10|20|30|31)(\d{3})(\d|x|X)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值