// 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"(?is)^http:\/\/.*-[A-HJ-NPR-Z\d]{17}$").unwrap();
let string = "http://www.mbwhiteplains.com/new/2015/mercedes/c250/2015-mercedes-c250-red-white-plains-for-sale-wddgj4hb9fg356378
http://www.mbwhiteplains.com/new/2015/mercedes/gla250/2015-mercedes-gla250-silver-white-plains-for-sale-wdctg4gb0fj034301
http://www.mbwhiteplains.com/new/2015/mercedes/gla250/2015-mercedes-gla250-red-white-plains-for-sale-wdctg4gb2fj039824
http://www.mbwhiteplains.com/used/2014/mercedes/c300/2014-mercedes-c300-grey-white-plains-for-sale-wddgf8ab9er323919
http://www.mercedesbenzofeaston.com/used/2014/mercedes/c300/2014-mercedes-c300-white-columbus-for-sale-wddgf8ab6er324414";
// 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/