re = /(?<=<!--dle_image_begin:)((?:(?!\|-->).)*)(?=|-->)/
str = '<!--dle_image_begin:http://some_url.com/uploads/posts/2012-12/1.png|--><img src="some_url.com/uploads/posts/2012-12/1.png" alt="***" title="***" /><!--dle_image_end--> bla bla bla bla <!--dle_image_begin:http://some_url.com/uploads/posts/2012-12/2.png|--><img src="some_url.com/uploads/posts/2012-12/2.png" alt="***" title="***" /><!--dle_image_end--> bla bla bla <!--dle_image_begin:http://some_url.com/uploads/posts/2012-12/3.png|--><img src="some_url.com/uploads/posts/2012-12/3.png" alt="***" title="***" /><!--dle_image_end-->'
# 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