re = /(http|https):\/\/(?:www\.)?puu\.sh\/(\w{5})\/(\w{10})\.(\w{3})/i
str = 'https://puu.sh/qpMlC/b58dea7700.png
http://puu.sh/qpDOW/eb0ba4f4b2.jpg
http://puu.sh/qpPfI/b74edd1b8e.png'
# 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