// 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"(?m)<ns2:([^<]*?) xmlns:ns2|<faultstring>([^<]*?)<\/faultstring>").unwrap();
let string = "<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\"><env:Header/><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>List \"Outage List2\" already exists.</faultstring><detail><ns1:ListAlreadyExistsFault xmlns:ns1=\"http://service.admin.ws.five9.com/\"><listName xmlns:ns2=\"http://service.admin.ws.five9.com/\">Outage List2</listName><message>List \"Outage List2\" already exists.</message></ns1:ListAlreadyExistsFault></detail></env:Fault></env:Body></env:Envelope>";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
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/