// 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#"(<a .*?)(href="|\')(http:\/\/oceanexplorer.noaa.gov\/redirectimage.php\?url=|\/redirectimage.php\?url=|\/redirectimage.php\?url=)([.\s\S]*?)(<\/a>)"#).unwrap();
let string = "g_ImageTable[g_imax++] = new Array (\"gallery/600/1.jpg\", \"The inflatable baby pool used for the phytoplankton experiment. <em>Image courtesy of 2009 RUSALCA Expedition, RAS-NOAA.</em><br /><br /><!--strong><a href='/redirectimage.php?url=http://oceanexplorer.noaa.gov/explorations/09bioluminescence/background/hires/bamboo_coral_hires.jpg' title='Download high-resolution image' target='window_name'>Download high-resolution image (jpg, 547 KB)</a></strong-->\");
";
let substitution = "\\1\\2\\4 <img src=\"/siteart/newwindow.png\" width=\"10\" height=\"11\" alt=\"exit icon\" title=\"exit icon\"/>\\5";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", result);
}
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/