// 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.*?data-extra-url=".*?<\/a>"#).unwrap();
let string = "<div> <br> <a data-some-id=\"3-6-9;id-1-2-3\" data-more-id=\"1-3-5\" data-extra-url=\"https://somehost.api/sub-id-1-2-3?someparam=3-6-9;id-1-2-3\" href=\"https://somehost.api/sub-id-1-2-3?someparam=3-6-9;id-1-2-3\" class=\"some-class\">someDuplicateHere1</a></div> wysiwyg<br> <div><a class=\"popup-wrap-id-1-2-3\" href=\"https://somehost.api/app/id-1-2-3?someparam=sub-id-1-2-3;sub-sub-id-1-2-3\">firstImage</a></div> <br> <div>somecontent</div> <div> <span> <div><a data-some-id=\"456;789\" href=\"https://somehost.api/app/id-4-5-6?someparam=sub-id-4-5-6;sub-sub-1-2-3\">second</a></div> <br> </span> also some more content </div> <div> <span> <div><a data-some-id=\"3-6-9;id-1-2-3\" data-more-id=\"1-3-5\" data-extra-url=\"https://somehost.api/app/sub-id-1-2-3?someparam=3-6-9;id-1-2-3\" href=\"https://somehost.api/app/sub-id-1-2-3?someparam=3-6-9;id-1-2-3\" class=\"some-class\">someDuplicateHere</a></div> rtf<br> </span> <br> </div> </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/