## 121.151.2.17 - - [03/Oct/2006:22:25:55 -0500] "GET /css_page/chromebg.gif HTTP/1.1" 304 - "http://www.englishteachingkore\a.com/css_page/chromestyle.css" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.5) Gecko/20060731 Ubuntu/dapper-security Firefox/1.5.0.5" preg_match("/^(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\] \"(\S+) (.*?) (\S+)\" (\S+) (\S+) (\".*?\") (\".*?\")$/", $line, $matches); The $ on the end makes $matches come out empty ... but when I take it out. I get only the first record parsed into $matches. I'm sure the record string ends after the " ... I've tried adding in spaces etc ...