// 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)<span.*?(?:itemprop\s*=\s*"\s*name\s*"\s*)?class\s*=\s*"\s*itemprop\s*"\s*(?:itemprop\s*=\s*"\s*name\s*"\s*)?>(.*?)<\/span>"#).unwrap();
let string = " <div class=\"txt-block\" itemprop=\"contractors\" itemscope
itemtype=\"home\">
<h4 class=\"inline\">Employs:</h4> <a href=\"/.../\" itemprop='url'><span class=\"itemprop\"
itemprop=\"name\">Carp 1</span></a>, <a href=\"/.../\"
itemprop='url'><span class=\"itemprop\" itemprop=\"name\">Carp
2</span></a>, <a href=\"/.../\" itemprop='url'><span class=\"itemprop\"
itemprop=\"name\">Carp 3</span></a> <span
class=\"tots\">|</span>
<span class=\"see-more inline\"> <a href=\"/.../\" itemprop='url'>See full options</a>
</span>
</div>";
// 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/