Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 日期和时间(ex:21/12/201115:57)_Python_Regex_Nlp - Fatal编程技术网

Python 日期和时间(ex:21/12/201115:57)

Python 日期和时间(ex:21/12/201115:57),python,regex,nlp,Python,Regex,Nlp,Noob到NLP,我非常想了解,我如何解析日期时间格式并将它们分开: 案例1:21/12/201115:57 已知: %d%d%d%d%d%d%d%d%d%d%d%d%d%d%d 如果我有一个分隔符,我会使用。拆分运算符。但既然我没有 有一个分隔符我该怎么处理 期望输出: 2011年12月21日15:57 案例2:2112201115:57 已知:ddmmyyyyhh:mm(我确信我将收到的格式) 如果我有一个分隔符,我会使用。拆分运算符。 但既然我没有分离器,我该如何处理呢 期望输出: 201

Noob到NLP,我非常想了解,我如何解析日期时间格式并将它们分开:

案例1:21/12/201115:57

已知: %d%d%d%d%d%d%d%d%d%d%d%d%d%d%d

如果我有一个分隔符,我会使用。拆分运算符。但既然我没有 有一个分隔符我该怎么处理

期望输出: 2011年12月21日15:57

案例2:2112201115:57

已知:ddmmyyyyhh:mm(我确信我将收到的格式)

如果我有一个分隔符,我会使用。拆分运算符。 但既然我没有分离器,我该如何处理呢

期望输出: 2011年12月21日15:57


此正则表达式应用于解析您的值:

(\d{2})(/?)(\d{2})\2(\d{4})(\d{2}:\d{2})
它查找两个数字(天),然后是可选的
/
,再查找两个数字(月),然后是
/
(使用第二个捕获组的反向引用),然后是4个数字(年),最后是2个数字,a
和2个数字(时间)。我们可以用

\1/\3/\4 \5
要获得所需的输出结果,请执行以下操作:

21/12/2011 15:57
21/12/2011 15:57

在python中:

import re

times = ['21/12/201115:57', '2112201115:57']
for time in times:
    print(re.sub(r'(\d{2})(/?)(\d{2})\2(\d{4})(\d{2}:\d{2})', r'\1/\3/\4 \5', time))
输出:

21/12/2011 15:57
21/12/2011 15:57
2011-12-21 15:57:00
使用日期时间

from datetime import datetime



datetime_str = '21/12/201115:57'

datetime_object = datetime.strptime(datetime_str, '%d/%m/%Y%H:%M')

print(datetime_object)
输出:

21/12/2011 15:57
21/12/2011 15:57
2011-12-21 15:57:00
对于案例2:

datetime_object = datetime.strptime(datetime_str, '%d%m%Y%H:%M')
为了更好地理解,请查看以下链接:


请清楚地提供输入和所需的输出。这对Strange先生有帮助吗?是的,这很好。使用datetime.strtime()检查解决方案