re = /<(a|h1)[^\>]*?>(some)[^\<]*?<\/\1>/mi
str = '<p>
<h1>Some header, which I don\'t want to match</h1>
Some text - match it.
<a href="some-file.html">Some link. Don\'t match neither href nor link text.</a>
<span>Some word, which needs to be matched</span>
</p>'
# 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