首页 > 解决方案 > 正则表达式匹配python中的原始日期时间格式

问题描述

我制作了一个正则表达式来查找独特的日期时间格式。我想替换无效的日期时间(月份不是 1 到 12)。

IE

10-2019  (NO MATCH)
2-2020 (NO MATCH)
19-2019 (MATCH because 2-digit is not 1-12)

我不在乎 4 位数字。因此,我得出了这个正则表达式: \b(0|00|1[3-9]|[2-9][0-9])\b-\d{4}

但是,我没有收到任何匹配:

>>> x = '00-1421 a 15-1432'
>>> re.sub('\b(0|00|1[3-9]|[2-9][0-9])\b-\d{4}','',x)
'00-1421 a 15-1432'

标签: python-3.xregex

解决方案


p = re.compile(r'\b(0|00|1[3-9]|[2-9]\d)-\d{4}')
x = '00-1421 a 15-1432'
p.sub('', x)

输出:

' a '

推荐阅读