re = /(?:\s(?:[^'"\/\s><]+?)[\s\/>])|(?:\S+(?:\s*=\s*(?:(?:(['"])[\s\S]*?\1|([^\s>]+))|(?:[^'"\s>]+))))/
str = ' <div
blah lorem
foo-bar
multi-line="
foo
bar
"
bar=" asdf"
bar= zxcv
foo=asdf
aa=df-bar=()
a-b=df-b"ar=()
ac=df"-bar=()
ad=df-bar=()
></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