这个问题也许是重复的,但是我没有找到任何确切的解决方案。我有这种类型的字符串,其中包括日期和时间。
"check_in": "10/25/2019 14:30"
我需要从中提取一个小时,但这并不总是有效的格式。到目前为止,我已经尝试过该模式,但是它包含“:”字符。
\ d +?(:)
(\ d + :)
(\ d +)*:
最佳答案
正则表达式并不总是处理代表日期的字符串的最佳方法,尤其是在您不能依赖输入格式保持一致的情况下。改用专门的解析器:
>>> from dateutil import parser
>>> parser.parse("10/25/2019 14:30").hour
14
>>> parser.parse("10/25/2019 2:30 PM").hour
14
>>> parser.parse("2019-10-25T143000").hour
14
模块
dateutil
不在标准库中,但值得下载。