日志是一个ASCII文件,每个请求有一行,包含以下列:
所以,应该解析这样的字符串:
202.32.92.47 - - [01 / Jun / 1995:00:00:59 -0600]“GET”run /~scottp / publish.html“200 271
ix-or7-27.ix.netcom.com - John Dou [01 / Jun / 1995:00:02:51 -0600]“GET /~ladd/ostriches.html”200 205908
那些应该被忽略:
maz3.maz.net - [11 / Oa67220.dial.tip.net - - [12 / Oct / 1995:01:39:12 -0600]“POST /cgi-bin/phone.pl HTTP / 1.0 “200 309
129.186.123.55 - - [12 / Oct / 1995ag5881.usask.ca - - [12 / Oct / 1995:16:07:36 -0600]“GET /images/letter_32.gif HTTP / 1.0”200 149 < / p>
尝试了很多正则表达式^([^\s]*).-.([^\s]*)?.\[([^\]]*)]."([^\"]*)".([^\s]\d*).([^\s]\d*)?$
但要么它没有忽略上面的错误日志,要么只是造成错误。