// 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#"(?=<[^<]*\s+title="([^"]*)")|<\s*a[^>]*>([^<]*)(?:[^\/]*[^a]*[^>]*)(?<=[>])([^<]*)"#).unwrap();
let string = "<p title=\"caca\"></p>
<p> </p>
<b>
</b>
<B>title=\" gdd \"</B>
<i title=\"caca\">dsfgjdgfs</i>
<i title=\" boudin \">dsfgjdgfs</i>
<i> </i>
<i> </i>
<strong></strong>
<a>hello</a>
<i style=\"color: orange\"></i>
<a href=\"#\"> bizurot </a> !probleme
<o: class=\"ms-crap\"></o>
<a href=\"#\" title=\" kameleo \" > test </a> !probleme <a href=\"#\"> cramoute </a> !probleme
<a href=\"#\" title=\" banane \" > test <strong>hello</strong> asaidali </a><a href=\"#\"> hdsfahsdgf </a> !probleme </br>
<p>Not empty</p>
<p>Not
empty</p>
<i>
</i>";
// 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/