// 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"(?mi)^([ \t]*)</head").unwrap();
let string = "<!DOCTYPE html><html class=\"no-js\" lang=\"es-ES\"><head> <meta charset=\"utf-8\" /> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" /> <title></title> <meta name=\"description\" content=\"blog de programación\"/> <meta property=\"og:locale\" content=\"es_ES\" /> <meta property=\"og:type\" content=\"website\" /> <meta property=\"og:title\" content=\"\" /> <meta property=\"og:description\" content=\"blog de programación\" /> <meta property=\"og:url\" content=\"\" /> <meta property=\"og:site_name\" content=\"\" /> <meta name=\"robots\" content=\"index, follow\" /> <!-- This site is being optimized with the Bob Bolt SEO Premium Extension™ v0.9.7 Platinum Edition Pro. --> </head><body><div class=\"row\" id=\"head\"> <section id=\"web\"> </section></div> <script src=\"/bolt-public/view/js/jquery-1.11.2.min.js\"></script>
<script src=\"https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sons-of-obsidian\"></script><script type=\"text/javascript\" src=\"/js/main.1445862200.js\"></script></body></html>";
// 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/