// 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"<script[^>]*>[^<]*<script[^>]*doubleclick[^>]*>[^\r\n]*[\r\n\s]*<noscript><[^>]*tile=1[^>]*><img[^>]*><\/a><\/noscript>").unwrap();
let string = "<script type=\"text/javascript\">document.write('<script src=\"http://ad.doubleclick.net/adj/ep_communityhp;kw=top;state='+state+';tile=1;dcopt=ist;sz=728x90;ord='+ord+'?\" type=\"text/javascript\"></'+'script>')</script>
<noscript><a href=\"http://ad.doubleclick.net/jump/ep_communityhp;kw=top;state=alaska;tile=1;sz=728x90;ord=12345678?\" target=\"_blank\"><img src=\"http://ad.doubleclick.net/ad/ep_communityhp;kw=top;state=alaska;tile=1;sz=728x90;ord=12345678?\" width=\"728\" height=\"90\" border=\"0\" alt=\"\"></a></noscript>";
// 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/