re = /<body(.[^>{}]*(?:{+[^}]*}+[^>{}]*)*)>/
str = '<other tag><body class="template-{{ template | replace: \'.\', \' \' | truncatewords:
1, \'\' }}{% if promo %}has-promo{% endif %} {% if products.size > 1
%}has-related-products{% endif %} {% if settings.product-hover ==
\'quick-shop\' %}has-quick-shop{% endif %} loading" ></other tag>'
# Print the match result
str.match(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