re = /<p[<>ib]*>([\w\s]+)<\/[\w]>/
str = '<html><head></head><body><p>Aa aa </p><p><b>Aa aa aa </b></p><p>Aa aa aa aa </p><p><i>Aa aa </i></p><p><b><i>B b b </i></b></p><b>Aa aa aa </b></body></html>'
# 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