// 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)<(\w+)\s[^>]*id=\"editable4\"[^>]*>[\s\S]*\1>"#).unwrap();
let string = "
<body>
<h1 id=\"editable1\" class=\"editable\" contenteditable=\"false\">
h8888899</h1>
<p id=\"editable2\" class=\"editable\">
Lorem ipsum dolor sit amet consectetur,
adipisicing elit. Ad, veniam in tempora voluptatum vel
sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveniet quaerat possimus tempora nulla.
</p>
<h2 id=\"editable3\" class=\"editable\">
h2 Lorem ipsum dolor sit amet consectetur
</h2>
<br>
<div id=\"editable_div1\" class=\"editable\">
DIV1 sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveni
</div>
<br>
<p id=\"editable4\" class=\"editable\">
Lorem ipsum dolor sit amet consectetur,
adipisicing elit. Ad, veniam in tempora voluptatum vel
sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveniet quaerat possimus tempora nulla.
</p>
<br>
<div id=\"editable_div\" class=\"editable\">
DIV sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveni
</div>
<br>
<h3 id=\"editable5\" class=\"editable\">
h3 Lorem ipsum dolor sit amet consectetur
</h3>
<p id=\"editable6\" class=\"editable\">
Lorem ipsum dolor sit amet consectetur,
adipisicing elit. Ad, veniam in tempora voluptatum vel
sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveniet quaerat possimus tempora nulla.
</p>
<br>
<br>
";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
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/