如何使用正则表达式获取第三列的值
How to get the value of the 3rd column using regex
我有这样的日志:
[2015-09-03 04:54:23,755] [Log Name] [INFO ] [test.audit1] [AUD5454] [default/test1] logged out.
[2015-09-01 01:33:45,851] [Log Name] [Critical ] [test.audit2] [AUD53501] [default/test2] logged in.
我需要获取 [] 之间的第 3 列值,我尝试使用此正则表达式:
(?<=\[)[^\]]+
但它只给我 []
之间的值
[INFO ] => INFO
[Critical ] => Critical
...我需要这些值 INFO & Critical
另一个问题如何获取[default/test2] & [default/test1]
之后的值
logged out.
logged in.
您可以使用
(?:\s*\[[^\]]*\]){2}\s*\[([^\]]*)\](?:\s*\[[^\]]*\])*\s*(.*)
见demo
您需要的值在第 1 组和第 2 组中。
我有这样的日志:
[2015-09-03 04:54:23,755] [Log Name] [INFO ] [test.audit1] [AUD5454] [default/test1] logged out.
[2015-09-01 01:33:45,851] [Log Name] [Critical ] [test.audit2] [AUD53501] [default/test2] logged in.
我需要获取 [] 之间的第 3 列值,我尝试使用此正则表达式:
(?<=\[)[^\]]+
但它只给我 []
之间的值[INFO ] => INFO
[Critical ] => Critical
...我需要这些值 INFO & Critical
另一个问题如何获取[default/test2] & [default/test1]
之后的值logged out.
logged in.
您可以使用
(?:\s*\[[^\]]*\]){2}\s*\[([^\]]*)\](?:\s*\[[^\]]*\])*\s*(.*)
见demo
您需要的值在第 1 组和第 2 组中。