// 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)<div\sclass="portal"(.*?)<\/div>"#).unwrap();
let string = "<div class=\"portal\" role=\"navigation\" id='p-participation' aria-labelledby='p-participation-label'>
<h3 id='p-participation-label'>Раз раз раз</h3>
</div> <div class=\"portal\" role=\"navigation\" id='p-tb' aria-labelledby='p-tb-label'>
<h3 id='p-tb-label'>Инструменты</h3>
</div> <div class=\"portal\" role=\"navigation\" id='p-coll-print_export' aria-labelledby='p-coll-print_export-label'>
<h3 id='p-coll-print_export-label'>Печать/экспорт</h3>
</div> <div class=\"portal\" role=\"navigation\" id='p-wikibase-otherprojects' aria-labelledby='p-wikibase-otherprojects-label'>
<h3 id='p-wikibase-otherprojects-label'>В других других</h3>
</div> <div class=\"portal\" role=\"navigation\" id='p-lang' aria-labelledby='p-lang-label'>
<h3 id='p-lang-label'>Три три три</h3>
</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/