re = /<(ul|ol)>\s*<li>{([ .\w-]+)} *(.*?)<\/\1>/m
str = '
<ul>
<li>{ .class .asdf}some item</li>
<li>another</li>
</ul>
<ul>
<li>{.class} some item</li>
<li>another</li>
</ul>
<p>{.test}Content of the paragrap
</p>
<([a-z\\-]+)>{([ \\w\\.-]+)} *(.*?)<\\/\\1>'
# 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