用http://pythex.org/测试Regex表达式
表达式:(\d{2})/-/.-\s(0-9 x=00-9=10-9=20-3):0-5$
我只想打印出30/06/2016 17:15作为两个单独的变量。以上这些都不能用!有人能告诉我我的表情吗?它似乎与"30/06/2016 17:15“完全相符。
发布于 2016-09-27 16:54:42
它可以很好地使用ast.literal_eval
和re
的组合。
ast.literal_eval
为您摆脱了tuple
-like结构。其余的都是小菜一碟。
该解决方案比只使用regex的解决方案更健壮:
import ast,re
a = "('=====================================', '30/06/2016 17:15 T001 201603301', 'ORDER: C002946', 'Cashier: 001', '--------------------------------------')"
t=ast.literal_eval(a)
z=re.compile(r"(\d\d/\d\d/\d\d\d\d)\s(\d\d:\d\d)")
m = z.match(t[1])
if m:
print("date: {}, time {}".format(m.group(1),m.group(2)))
结果:
date: 30/06/2016, time 17:15
备注:
time
获得真正的time.strptime
结构会更好(在这种情况下不需要正则表达式)。https://stackoverflow.com/questions/39730226
复制相似问题