Python Regex跳转错误的lin

2024-06-26 13:39:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用python解析日志。我使用正则表达式运算。如果日志是标准格式的,它就可以正常工作。标准格式如下所示:

[158.197.233.55] : - : - :[03/Jan/2018:06:06:21 +0100] : "GET / HTTP/1.1" : 200 : 3041

问题是有些日志不是标准格式的,因为它们写得不正确。我有这样不正确的日志:

[158.197.238.112 : - : - [16/Jan/2018:17:32:02 +0100] : GET /phpmyadmin/themes/pmahomme/css/printview.css?v=4.6.6deb4 HTTP/1.1 : 200 : 988

还是这个

50.93.204.105 : - : - : [07/Jan/2018:15:53:34 +0100] GET /manager/html HTTP/1.1 404 290` 

还是这个

 [158.197
.233.55] : - : - [03/Jan/2018:06:16:31 +0100] 

或者许多其他类型的错误日志。 问题是我修不了原木。我也不能写正则表达式来解析所有类型的错误日志。我尝试了这个,但是有太多不正确的类型。你知道怎么解决这个问题吗?我认为最好的方法是:如果regrex找到一条线witchdont match group,就跳错线。在python中有可能做到这一点吗?还是有别的办法


Tags: http类型标准gethtml格式错误manager