re = /<a[^>]+href=[\"|\'](.*?)[\"|\'][^>]*>((?:.(?!\<\/a\>))*.)<\/a>/m
str = '<p>Looking for squeak toys? Check out the <a rel="noopener noreferrer" href="https://www.chewy.com/marvel-s-groot-plush-squeaky-dog-toy/dp/247261" target="_blank" class="onecms-affiliate-link">plush Groot from Marvel\'s <em>Guardians of the Galaxy</em></a> that\'s perfect for both play and cuddle time. Cats will surely go wild for the <a rel="noopener noreferrer" href="https://www.chewy.com/star-wars-stormtrooper-plush-mice-cat/dp/247537" target="_blank" class="onecms-affiliate-link">catnip-infused Stormtrooper toys</a>, while dogs that love fetch can <a rel="noopener noreferrer" href="https://www.chewy.com/marvel-s-captain-americas-shield/dp/247164" target="_blank" class="onecms-affiliate-link">chase down Captain America\'s shield</a>. Those who also want tug toys can grab plush <a rel="noopener noreferrer" href="https://www.chewy.com/pixar-aliens-plush-rope-squeaky-dog/dp/247114" target="_blank" class="onecms-affiliate-link">Pixar\'s aliens linked on a squeaky rope toy</a>.</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