re = /\[(?P<a>[0-9]*)\/(?P<b>[0-9]*-[0-9]*)@g.us\((?P<c>(?:[0-9]{2}\-){2}2015) [0-9]{2}:[0-9]{2}\)\]:\[(?P<d>[A-Z0-9a-z]{13}|.*)\](?P<e>.*)\nMessage (?P=d): Sent delivered receipt\n\[connected]:/
str = '[1234567890123/123456789012-1234567898@g.us(18-10-2015 11:30)]:[AC103CD12DER5] VW Simulator
Message AC103CD12DER5: Sent delivered receipt
[connected]:
[1234567890123/123456789012-1234567898@g.us(18-10-2015 11:30)]:[AC103CD12DER5] VW Simulator
Message AC103CD12DER5: Sent delivered receipt
[connected]:'
# 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