2015-04-07 4 views
-1

Может ли кто-нибудь помочь мне написать регулярное выражение для определенного формата журнала? Ниже приведен пример журнала и регулярное выражение, которое я написал для него, но оно не работает.Регулярное выражение для формата журнала

Log : 64.242.88.10 - - [07/Mar/2004:16:05:49 -0800] "GET 
/twiki/bin/edit/Main/Double_bounce_sender?topicparent=Main.ConfigurationVariables 
HTTP/1.1" 401 12846 

Regular Expression Я попытался было: "%h - - %t \"%r\" %>s %b"

+2

Не могли бы вы указать, что именно вы хотите совместить в этой строке? –

+0

Не могли бы вы быть более конкретными, чем * «это не работает» *? Как вы применяете регулярное выражение, каков результат, и что вы ожидали вместо этого? – jonrsharpe

ответ

0

Каждый журнал, вероятно, хранится в отдельной строке. Попробуйте просто:

"Log : .* \n" 

Или укажите, что именно вы хотите совместить и получить.

0

Вы можете попробовать что-то вроде этого: Log\s*:\s*([\d.]+)[\s-]+\[([\d\/A-Za-z: -]+)\]\s+"([A-Z]+)\s+(.+?)"\s+([\s\d]+).

Это будет соответствовать следующим группам:

  1. 64.242.88.10
  2. 07/Mar/2004: 16: 05: 49 -0800
  3. GET
  4. /TWiki/бен/редактировать /Main/Double_bounce_sender?topicparent=Main.ConfigurationVariables HTTP/1,1

Приведен пример here.

Смежные вопросы