// 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#"(?im)<iframe.*?(width="[0-9]*")?\.?(height="[0-9]*")?\.*?src=".*?youtube\.com\/embed\/(\w*\-?\w*).*?(width="[0-9]*")?\.?(height="[0-9]*")?\.*?><\/iframe>"#).unwrap();
let string = "<iframe width=\"123\" height=\"237\"src=\"http://www.youtube.com/embed/IMtG_n1FpgA\" frameborder=\"0\" allowfullscreen></iframe>
<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/VsG2t-rKUmA\" frameborder=\"0\" allowfullscreen></iframe>
<iframe id=\"cKOFUZFPYp8_Youtube_api\" style=\"width:100%;height:100%;top:0;left:0;position:absolute\" frameborder=\"0\" allowfullscreen=\"1\" title=\"YouTube video player\" width=\"640\" height=\"360\" src=\"https://www.youtube.com/embed/cKOFUZFPYp8?controls=0&modestbranding=1&rel=0&showinfo=0&loop=0&fs=0&hl=en&enablejsapi=1&origin=http%3A%2F%2Fspiritualtv.org&widgetid=1\"></iframe>";
let substitution = "<video id=\\\"$3\\\" class=\\\"video-js vjs-default-skin vjs-fluid\\\" controls width=\\\"640\\\" height=\\\"264\\\" data-setup='{ \\\"techOrder\\\": [\\\"youtube\\\"], \\\"sources\\\": [{ \\\"type\\\": \\\"video/youtube\\\", \\\"src\\\": \\\"https://www.youtube.com/watch?v=$3\\\"}] }'></video>";
// 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/