re = /[\r|\n|^<]*(<a([^*>]+>)|<\/a>)/
str = 'juabsdfsadfsdfsf<a href=""><h1></h1></a> sdfsdfsdf <h2>sdfsdfs</h2> <div class=""><a href=""></a><div class="block">
<a href="/">
<div class="divInside"></div>
<img src="/bla" /><div class="block">
<a href="/">
<div class="divInside"></div>
<img src="/bla" />
<p>Parargraph<div class="block">
<a href="/">
<div class="divInside"></div>
<img src="/bla" />
<p>Parargraph</p>
</a>
</div></p>
</a>
</div>
<p>Parargraph</p>
</a>
</div>'
# 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