From: Robert Klemme Date: 2007-07-16T21:49:18+09:00 Subject: Re: Parsing an apache access log line 2007/7/16, Robert Klemme : > 2007/7/16, Joe Nciri : > > a have a line to parse.... > > > > 10.88.90.75 - - [16/Jul/2007:07:46:09 -0400] "GET /star/images/main.gif > > HTTP/1.1" 200 334 > > > > > > anyone has a better idea... got stuck coming up with one simple regex ( > > the double quote...) Need to tokenize the line, > > > > token 1 = 10.88.90.75 > > token 2 = - > > token 3 = - > > token 4 = [16/Jul/2007:07:46:09 -0400] > > token 5 = "GET /star/images/main.gif HTTP/1.1" > > token 6 = 200 > > token 7 = 234 > > > > > > can some one help please. > > Try this as a starting point: > > line.scan %r{ > \S+ > | \[[^\]]*\] > | "[^"]*" > }x > > (untested) I think I got the order wrong. Rather do line.scan %r{ \[[^\]]*\] | "[^"]*" | \S+ }x Or do an explicit parse like the one Aur suggested. Kind regards robert