Nov 29 2005
Perl bits: Parsing Apache’s Combined log format
A handy dandy regular expression to parse out fields from Apache’s combined log format:
/^(\S+)\s # requestor
(\S+)\s # ?
(\S+)\s # ?
\[([^\]]*)\]\s # time
"([^"]*)"\s # URL
(\d*)\s # result
(\d*)\s # bytes
"([^"]*)"\s # referrer
"([^"]*)"$/x # user agent

Thanks for this, very useful. I updated the code to fill in your question makrs:
/^
(\S+)\s # requestor
(\S+)\s # RFC 1413 identity of the client determined by identd (highly unreliable – do not use)
(\S+)\s # http userid
\[([^\]]*)\]\s # time
“([^"]*)”\s # URL
(\d*)\s # result
(\d*)\s # bytes
“([^"]*)”\s # referrer
“([^"]*)” # user agent
$/x;