// 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#"<span style=(?:\\){0,2}"--en-type:(?:\s)??tag;--en-tagId:(?:\s)?([^\/\\;]+)(?:;)?(?:\\){0,2}">([^<>]+)<\/span>"#).unwrap();
let string = "<!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\"><en-note><p><span style=\"--en-type:tag;--en-tagId:17436cb0-7873-4317-8453-623e7f3a5dd1;\">#234234<>&</span> <span style=\"--en-type:tag;--en-tagId:ed628b06-297b-4411-9266-3e5fa64f4f5c;\">#21423<>14n</span> <span style=\"--en-type:tag;--en-tagId:27f5d787-9e2a-4d66-9c6e-1f938aa60834;\">#2423432</span> </p></en-note>";
// 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/