【发布时间】:2009-05-19 15:39:41
【问题描述】:
我正在编写一个 python 脚本来从我们的 2GB Apache 访问日志中提取数据。这是日志中的一行。
81.52.143.15 - - [01/Apr/2008:00:07:20 -0600] "GET /robots.txt HTTP/1.1" 200 29 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) VoilaBot BETA 1.2 (http://www.voila.com/)"
我正在尝试从该行获取日期部分,而正则表达式让我失望了,我不知道为什么。这是我的python代码:
l = 81.52.143.15 - - [01/Apr/2008:00:07:20 -0600] "GET /robots.txt HTTP/1.1" 200 29 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) VoilaBot BETA 1.2 (http://www.voila.com/)"
re.match(r"\d{2}/\w{3}/\d{4}", l)
什么都不返回。也不做以下事情:
re.match(r"\d{2}/", l)
re.match(r"\w{3}", l)
或其他任何我能做到的事情,甚至可以得到日期的部分。我误会了什么?
【问题讨论】: