re = /\sUsername\s'(?<username>[^']+)'.*\n.*\(\/(?<ipaddress>[^\)]+)\).*Failed\sto\sverify\susername/mi
str = '[18:56:57] [User Authenticator #2/INFO]: Disconnecting *** (/185.204.1.184:58084): Failed to verify username!
[18:56:57] [User Authenticator #2/ERROR]: Username \'***\' tried to join with an invalid session
[18:56:57] [Server thread/INFO]: *** (/185.204.1.184:58084) lost connection: Failed to verify username!'
# 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