正则表达式筛选正确的日期格式

该博客探讨了如何使用Python的正则表达式从文本中筛选出符合DD/MM/YYYY格式的日期,并确保考虑了月份天数限制(4月、6月、9月、11月不超过30天,2月在闰年不超过29天,非闰年不超过28天),同时保证天和月为单数时前面会加0。
摘要由CSDN通过智能技术生成

若从众多文本中筛选出DD/MM/YYYY格式的日期,并且要求4月、6月、9月、11月的天数不超30天,2月份在闰年不超29天,非闰年不超28天。此外还要求天和月为单数,要在前面加个0(如1,变为01)。代码如下:

import re
#(?<!\d)和(?!\d)是为了防止出现类如111/12/20005的情况
yearRegex=re.compile(r'(?<!\d)(0?[1-9]|[12][0-9]|30|31)/(0?[1-9]|1[0-2])/([12]\d{3})(?!\d)')
text="1/12/2019,01/12/2018,23/09/2016,29/2/2000"
year=yearRegex.findall(text)
a=[]
for groups in year:
#把4月、6月、9月、11月超过30天的去除掉
    if (groups[1]==("4") or groups[1]==("6") or groups[1]==("9") or groups[1]==("11")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值