我在自学python,并尝试实现正则表达式以从应用程序日志文件中获取时间戳(为此,我通常使用grep、cut和awk)
我的日志文件包含许多以日期和时间开始的行
18.12.19 14:03:16 [ ..... # message error
18.12.19 14:03:16 [
:
我通常使用一个简单的grep命令grep "14\:03\:16" mytext
这个表达式的作用是“14:03:16”,所以经过研究,我想出了这个正则表达式:
其中res
是上面的一行
datap = re.compile(r'(\d{2}):(\d{2}):(\d{2})')
m = datap.match(res)
这没有发现任何东西
datap = re.compile(r'(\d{2}).(\d{2}).(\d{2})')
m = datap.match(re
捕获日期。你知道吗
为什么找不到字符:
?我也尝试过使用\:
,但也不起作用。提前谢谢。你知道吗
^{} 尝试从字符串开头匹配正则表达式。你知道吗
从文档中:
当你这么做的时候
正则表达式实际上匹配的是日期,而不是时间(因为它位于字符串的开头):
如果使用^{} ,则会得到预期的输出:
相关问题 更多 >
编程相关推荐