// 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"(?s)public_key=#STARTKEY#(.*)#ENDKEY#").unwrap();
let string = "public_key=#STARTKEY#c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FEWVZVZDY5eVBDS2hvejdjMUI5
dWx0TStNZmpRR3BnZG9xZGhFTDRKVStsRkt5OFpwazVTdy9Ic3RlVnZvZm5qbGlLajRjNWNXbzdr
NEZUSy81dzZCcXlmSHpkcnFSRHNWbHNWOERLSUpJejBrTFJoMUFHdlQ3c1lWcXpwNUhFcnN4ZnZI
K0pEZlNVa0pUOElTWE4xSkxkcllxUjJzQVBmMjhsbVl1eXpkaGprQTNzdWZlZ2dQQWYzam1ndFFP
Q1JHWi9ZdmZKcjFLcVZIZDdvYUdOOE1Ndm9BMy9reE9iTWVCSk5ldkl5VHNwdWF2bWxGU29qMkVU
Z12RGeUphQ0FGamQ3VFF2ZXJGM0JSeUVxNDhDMUR4OTE3cWJvRVJaQXZ6elQxU0lIZHk2MG5QVHpa
OEM5akRxbzZlVmJYNk8xT05ZckViM0eYhRlmk0WkpjMWcvRi83WVA3SHVhSy91V0llb2JkN2JNRmtj
NFNhSlJxRE1JNE9ERFdzSHhKL29ZalZrL1VrU1dqSXJZTVBaUDA4VW1XaVljcHh4cFF6YmZKb3pH
bmNqMEFodUlqZzQ3blJwMTJTUWY5cDRnQ1UzK2NxdVNPQmZjTXExd0ZHcXVxMEk0ZEVIdCtiNmZi
OFpmYll1Z0lpa2xRZUlYMzQ4cnl2aFpzaVQvZ3AvRllSaFZEZTA9IG5pY2NoYXVkQGNpc2NvLmNv
bUBOSUNDSEFVRC1NLUZCVE4K#ENDKEY#";
// 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/