如何使用正则表达式获取第3列的值

时间:2015-09-03 12:24:11

标签: regex file logging matching

我有这样的日志:

  

[2015-09-03 04:54:23,755] [日志名称] [信息] [test.audit1] [AUD5454] [默认/ test1]已注销。

     

[2015-09-01 01:33:45,851] [日志名称] [严重] [test.audit2] [AUD53501] [默认/ test2]已登录。

我需要获得[]之间的第3列值,我尝试使用此正则表达式:

(?<=\[)[^\]]+

但它只给我[]

之间的值
  

[INFO] =&gt;信息

     

[严重] =&gt;临界

......我需要那些价值观INFO&amp;临界

如何在[default / test2]&amp;之后获取值的另一个问题[default / test1]

  

已退出。

     

登录。

1 个答案:

答案 0 :(得分:0)

您可以使用

(?:\s*\[[^\]]*\]){2}\s*\[([^\]]*)\](?:\s*\[[^\]]*\])*\s*(.*)

请参阅demo

您需要的值在第1组和第2组。