re = /(<(?!(li|ul))[^>]+) style=".*?"/m
str = '<p class="BodyTextIndent3">
<strong>[To do]</strong> Style we need to have work in Tech zone: “Body Text Indent 2” so that we can indent paragraphs under a sub-step or sub-bullet, such as a paragraph containing a graphic.
</p>
<ul style="margin:0pt; padding-left:0pt">
<li class="ListParagraph" style="margin-left:27.14pt; text-indent:0pt; padding-left:8.86pt; font-family:serif">
<span style="font-family:\'Metropolis Light\'">This is a first-level bullet item (that works right now) created by using the </span><strong><span style="font-family:\'Metropolis Light\'; ">List Paragraph and then clicking the Bullet button in the toolbar</span></strong><span style="font-family:\'Metropolis Light\'">. Then, if you want to create sub-bullets, just also press the Tab key, like this:</span>
<ul style="margin-right:0pt; margin-left:0pt; padding-left:0pt">
<li class="ListParagraph" style="margin-left:28.4pt; text-indent:0pt; padding-left:7.6pt">
<span style="font-family:\'Metropolis Light\'">This is a sub-bullet by using the </span><strong><span style="font-family:\'Metropolis Light\'; ">List Paragraph style, using a bulleted list and then pressing Tab</span></strong><span style="font-family:\'Metropolis Light\'">. If you press Return now, you will get another sub-bullet.</span>
<ul style="margin-right:0pt; margin-left:0pt; padding-left:0pt">
<li class="ListParagraph" style="margin-left:27.12pt; text-indent:0pt; padding-left:8.88pt">
<span style="font-family:\'Metropolis Light\'">This is a sub-bullet by using the </span><strong><span style="font-family:\'Metropolis Light\'; ">List Paragraph style, using a bulleted list and then pressing Tab twice</span></strong><span style="font-family:\'Metropolis Light\'">. If you press Return now, you will get another sub-sub-bullet.</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p class="BodyText">
Following are some examples taken from the RA appendixes. We need enough styles so that we can get these to work on Tech zone:
</p>
<p class="BodyText">
To configure the cluster quorum settings:
</p>
<ol style="margin:0pt; padding-left:0pt">
<li class="ListParagraph" style="margin-left:33.8pt; text-indent:0pt; padding-left:2.2pt">
Configure quorum votes for Site 1:
<ol style="margin-right:0pt; margin-left:0pt; padding-left:0pt; list-style-type:lower-latin">
<li class="ListParagraph" style="margin-left:33.8pt; text-indent:0pt; padding-left:2.2pt">
Open Failover Cluster Manager and select<span style="font-family:Cambria"> </span><strong>More Actions</strong><span style="font-family:Cambria"> </span>><span style="font-family:Cambria"> </span><strong>Configure Cluster Quorum Settings</strong>.
</li>
<li class="ListParagraph" style="margin-left:33.8pt; text-indent:0pt; padding-left:2.2pt">
Complete the Configure Cluster Quorum Wizard, using the following guidelines:
</li>
</ol>
</li>
</ol>'
subst = ''
result = str.gsub(re, subst)
# Print the result of the substitution
puts result
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