我熟悉dateutil.parser,它允许人们将表示时间的字符串解析为datetime个对象。但是,我想要做的是搜索'对于这样一个'时间字符串'在表示时间间隔的较大字符串中。例如:
from datetime import timedelta
import dateutil.parser
import parse
start = dateutil.parser.parse("5 Nov 2016 15:00")
end = start + timedelta(hours=1)
string = "from {start} till {end}".format(start=start, end=end)
start_pattern = "from {:tg}"
result = parse.search(start_pattern, string)
我希望将start
和end
恢复为datetime
个对象,因为它们遵循"来自"和"直到"分别。
此处我尝试使用parse模块,但格式说明符:tg
(针对全球时间语法)似乎不适用于datetime
' s默认字符串表示,其他可用字符串表示与string
中的字符串表示相似。
在此示例中,解析start
和end
的简单而优雅的方法是什么?
答案 0 :(得分:2)
在这种情况下,re
包可以帮到你;只需为要匹配的字符串创建正则表达式,并使用它们来提取日期部分。
答案 1 :(得分:1)
我找到了一种使用正则表达式的方法:
create procedure p1()
begin
declare k int;
DECLARE exit handler for sqlexception
BEGIN
SET k = 0;
ROLLBACK;
END;
set autocommit = off;
START TRANSACTION;
update sampletable2 set cnt = cnt + 5;
insert into sampletable1 values ('5s');
IF k < 1
THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
end;
//