【发布时间】:2017-05-15 02:51:44
【问题描述】:
我有日期时间字符串 t1
'Sat 02 May 2015 19:54:36 +0530'
我想提取删除第一个和最后一个单词,即 Sat 和 +0530。这是我写的三个正则表达式的行为:
(1) re.search(r'(\d{2})([^:]+)([:\d{2}]+)',t1) matches '02 May 2015 19:54:36'
(2) re.search(r'(\d{2})([^:]+)([:\d{2}]{2})',t1) matches '02 May 2015 19:5'
(3) re.search(r'(\d{2})(.+)([\:\d{2}])',t1) matches '02 May 2015 19:54:36 +0530'
有人能解释一下 2 号和 3 号有什么问题吗?我认为所有这些都应该产生相同的结果。
【问题讨论】:
-
为什么不直接将其解析为 Date 对象,然后格式化 Date 对象?
-
@J.N.你能给我举个例子吗?我是 Python 新手。谢谢。
-
假设您使用的是 Python 2:以下是如何将字符串解析为 DateTime 对象:stackoverflow.com/questions/466345/… 以下是如何格式化 DateTime 对象:docs.python.org/2/library/datetime.html 解析表示的日期和时间到 DateTime 对象比创建相对脆弱的正则表达式要容易得多。
-
@J.N.谢谢。
标签: python regex string datetime