我正在尝试从整个字符串文本中提取日期。但是我不知道如何解决这个问题:
我发现的日期格式是2020年10月19日或2020年10月19日
为此,我使用以下代码:
'''re.findall(r'\d*\d (?:%s)\.? \d{2,4}\b' % '|'.join(m.title().rstrip('.') for m in calendar.month_abbr[1:]),string)'''
当这样的文字出现在文本中时,就会出现问题:10 Oct 19 16:35然后re.findall()
返回19 Oct 16
。
我怎样才能只返回我要寻找的东西?
谢谢!
如果两位数后面有冒号和数字,则可能导致匹配失败:
r'\d*\d (?:%s)\.? (?:\d{4}\b|\d{2}\b(?!:\d))'
参见正则表达式演示
在(?:\d{4}\b|\d{2}\b(?!:\d))
将匹配四个数字紧随其后,字边界,或两个数字也跟着用字边界,但没有随着:
和一个数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句