// 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)<a[\s\S]*? \bhref="(mailto:(.*?))"[\s\S]*?>(.*?)</a>"#).unwrap();
let string = "<p>Lorem ipsum dolor sit amet, <a href=\"#coucou\">consectetur </a> dipiscing elit. <a href=\"mailto:fakeEmail@gmail.com\">Email Tag Content 1</a>.Sic enim censent, oportunitatis esse beate vivere. Omnia contraria, quos etiam insanos esse vultis. Virtutis, magnitudinis animi, patientiae, fortitudinis fomentis dolor mitigari solet. <a href=\"mailto:email@address.uk\">Quid</a>, cum fictas fabulas, e quibus utilitas nulla elici potest, cum voluptate legimus? Duo Reges: <a href=\"mailto:tt@tt.com\" class=\"asdkfj\">constructio</a> interrete. Vos autem cum perspicuis dubia debeatis illustrare, dubiis perspicua conamini tollere. Quid ad utilitatem <a class=\"t\" href=\"mailto:aaa@uuu.ik\">tantae</a> pecuniae? Quod non subducta utilitatis ratione effici solet, sed ipsum a se oritur et sua sponte nascitur.";
// 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/