re = /(?:\[([^\]]*)\]\s*){3}(?:\[[^\]]*\]\s*)*(.*)/m
str = '<181>Sep 03 04:54:23 172.168.168.152 [2015-09-03 04:54:23,755] [Log Name] [INFO ] [test.audit1] [AUD5454] [default/test1] logged out.
<182>Sep 01 01:33:45 172.168.168.152 [2015-09-01 01:33:45,851] [Log Name] [Critical ] [test.audit2] [AUD53501] [default/test2] logged in.'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html