正则表达式匹配不同的日历日期格式日期 "M0,1,2/D1,2/Y2,4", "Y4"

Posted

技术标签:

【中文标题】正则表达式匹配不同的日历日期格式日期 "M0,1,2/D1,2/Y2,4", "Y4"【英文标题】:Regular expression to match the different calendar date format dates "M0,1,2/D1,2/Y2,4", "Y4"正则表达式匹配不同的日历日期格式日期 "M0,1,2/D1,2/Y2,4", "Y4" 【发布时间】:2019-09-08 03:07:06 【问题描述】:

日期以字符串列表的形式给出,需要正则表达式来匹配不同的可能日期格式。最好在python中

dates = ["04/20/2009", "04/20/09", "4/20/09","4/3/09","6/2008","12/2009","2009","2010"]
df = pd.Series(dates)

【问题讨论】:

您的问题是什么?你都尝试了些什么?如果您还没有阅读,请阅读How to Ask。 考虑 ``` re.findall('(?:[\d]0,2/)0,2[\d]2,4', dates[i ]) ``` ``` ?: ``` 在正则表达式中是做什么的,或者我在哪里可以了解详细信息? 我忘了提,请edit问题补充详情。 【参考方案1】:

您不需要正则表达式。指定数据类型:

import pandas as pd
dates = ["04/20/2009", "04/20/09", "4/20/09","4/3/09","6/2008","12/2009","2009","2010"]
df = pd.Series(dates,dtype='datetime64[ns]')
print(df)

输出:

0   2009-04-20
1   2009-04-20
2   2009-04-20
3   2009-04-03
4   2008-06-01
5   2009-12-01
6   2009-01-01
7   2010-01-01
dtype: datetime64[ns]

【讨论】:

以上是关于正则表达式匹配不同的日历日期格式日期 "M0,1,2/D1,2/Y2,4", "Y4"的主要内容,如果未能解决你的问题,请参考以下文章

年月日日期正则

使用正则表达式匹配 yyyymmdd 中的日期格式

使用 python 正则表达式匹配日期

有关正则表达式的问题:将中文字符串中的日期提取出来

Java里面效验日期的正则表达式

正则表达式匹配日期,支持闰年,格式为YYYYMMDD