re = /ticky: (INFO|ERROR)(: [\w\W $]+?)(\([\w]*\))/m
str = 'May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (coleman)
May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (coleman)
May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (coleman)
May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: INFO: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: ERROR: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: ERROR: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: ERROR: Created ticket [#1234] (coleman)
May 27 11:45:40 ubuntu.local ticky: ERROR: Created ticket [#1234] (ldelfino)
May 27 11:45:40 ubuntu.local ticky: ERROR: Created ticket [#1234] (ldelfino)
Jun 1 11:06:48 ubuntu.local ticky: ERROR: Connection to DB failed (ldelfino)
Jun 1 11:06:48 ubuntu.local ticky: ERROR: Connection to DB failed (ldelfino)
Jun 1 11:06:48 ubuntu.local ticky: ERROR: The ticket was modified while updating (ldelfino)
Jun 1 11:06:48 ubuntu.local ticky: ERROR: The ticket was modified while updating (ldelfino)
Jun 1 11:06:48 ubuntu.local ticky: ERROR: Connection to DB failed (ldelfino)
Jun 1 11:06:48 ubuntu.local ticky: ERROR: Connection to DB failed (ldelfino)
Jun 1 11:06:48 ubuntu.local ticky: ERROR: Tried to add information to a closed ticket (ldelfino)'
# 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