// 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"(?Ui)([a-z\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif))").unwrap();
let string = "<a style=\"display:block;\" href=\"javascript:void(0);\" onclick=\"expandImageRotate ( 'xImage_56362441','http://snpi.dell.com/snp/images/products/large/en-th~370-ACMK/370-ACMK.jpg',event,this,'' );\"><img id=\"xImage_56362441_sm_Image\" border=\"0\" alt=\"Dell 8 GB Certified Replacement Memory Module for Select Dell Systems- UDIMM ECC\" title=\"Dell 8 GB Certified Replacement Memory Module for Select Dell Systems- UDIMM ECC\" width=\"200\" src=\"http://snpi.dell.com/snp/images/products/mlrg/en-th~370-ACMK/370-ACMK.jpg\" z></a>
</span></td></tr>
<tr><td colspan=\"2\" style=\"padding: 15px 0px 5px 0px\"><table cellpadding=\"4\" cellspacing=\"0\" align=\"center\" border=\"0\"><tr class=\"thumbnailRow\"><td align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
<tr>
<td><img src=\"http://i.dell.com/images/global/brand/ui/top_left_small.gif\" width=\"3\" height=\"3\"></td>
<td width=\"100%\"><img src=\"http://i.dell.com/images/global/brand/ui/top_horiz_small.gif\" width=\"100%\" height=\"3\" border=\"0\"></td>
<td class=\"rightAlign\"><img src=\"http://i.dell.com/images/global/brand/ui/top_right_small.gif\" width=\"3\" height=\"3\"></td>
</tr>
<tr>
<td class=\"leftVertSmall\"></td>
<td><span style=\"display:inline-block;width:40px;\">
<script type=\"text/javascript\">
RegisterImage('original_image', 'http://snpi.dell.com/snp/images/products/mlrg/en-th~370-ACMK/370-ACMK.jpg', 'http://snpi.dell.com/snp/images/products/large/en-th~370-ACMK/370-ACMK.jpg', \"Dell 8 GB Certified Replacement Memory Module for Select Dell Systems- UDIMM ECC\", 'xImage_18637405', '');
</script><div style=\"position: absolute; top: 0pt; left: 0pt;\" id=\"xImage_18637405_container\"></div>";
// result will be a tuple containing the start and end indices for the first match in the string
let result = regex.captures(string);
let (start, end) = match result {
Some((s, e)) => (s, e),
None => {
// ...
}
};
println!("{}", &string[start, end]);
}
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/