Ваш формат:
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
(см. здесь )
Таким образом, ваше регулярное выражение будет:
"^(\\S+) (\\S+) (\\S+) \\[(.+?)\\] \\\"(.+?)\\\" (\\d{3}) (\\S+) \\\"(.+?)\\\" \\\"(.+?)\\\"[\\W]+ $"
, где совпадают группы являются (я использую ссылки, как определено в apache документы):
- % h
- % l
- % u
- % t (без вложений
[]
) - % r
- %> s
- % b
- % {Referer} i
- % {User-agent} i
Примечание. Ваше регулярное выражение немного усложнено, и причина его сбоя заключается в том, что% b не всегда является числом - когда запрос не возвращает байтов, он будет -
вместо 0
.