// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r#"(?m)(<(?!(li|ul))[^>]+) style=".*?""#).unwrap();
let string = "<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>";
let substitution = "";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", 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 Rust, please visit: https://docs.rs/regex/latest/regex/