// 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#"<img(?=\s)(?=(?:[^>"']|"[^"]*"|'[^']*')*?\ssrc\s*=\s*(?:(['"])(?:(?!\1)[\S\s])*?\/storage\/(\d+)\/articles\/pictures\/((?:(?!\1)[\S\s])*)\1))\s+(?:"[\S\s]*?"|'[\S\s]*?'|[^>]*?)+>"#).unwrap();
let string = "
$body = \"... Cras ut tristique est. Etiam porttitor elit velit, vitae consequat eros interdum ac. Nam in blandit ante.</p><p> </p><figure class=\"image\"><img src=\"/storage/5/articles/pictures/1560534410321_a363bc0d804aec432567128ed10416ee.jpeg\"></figure><p>Integer sed justo accumsan, consequat nulla at, tincidunt massa. Integer orna Etiam porttitor elit velit, vitae consequat eros interdum ac. Nam in blandit ante.</p><p> </p><figure class=\"image\"><img src=\"/storage/5/articles/pictures/23456410321_a33456t604aec432567128ed10416ee.jpeg\"></figure> j hgfjhf jfhfj hgf jh786 876 8 76fgj tfyt u ufgi uyu y gi iy gygg ...\";
";
// 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/