re = /(?:X-)?Received: (?:by|from) \K([\S]+)/m
str = 'Received: from mail2.oknotify2.com (mail2.oknotify2.com. [208.83.243.70]) by mx.google.com with ESMTP id dp5si2596299pdb.170.2015.06.03.14.12.03
Received: by 10.66.156.198 with SMTP id wg6mr62843415pab.126.1433365924352;
Received: from localhost (localhost [127.0.0.1])'
# 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