// 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#"errorDescription\"\:\"(?<errorDescription>[^\"]+).+errorCode\"\:\"(?<errorCode>[^\"]+)"#).unwrap();
let string = "2016-10-25 12:33:31,926 [http-00000:13111-2] INFO [org.apache.cxf.interceptor.LoggingInInterceptor ?] Inbound Message ----------------------------
ID: 18 Response-Code: 200
Encoding: UTF-8
Content-Type: application/json;charset=UTF-8
Headers: {content-type=[application/json;charset=UTF-8], Date=[Tue, 25 Oct 2016 17:33:30 GMT], Expires=[Thu, 01 Jan 1970 00:00:00 GMT], Set-Cookie=[BrowserId=L8p9Eij0T4Sfp-INSP9zDw;Path=/;Domain=.salesforce;Expires=Sat, 24-Dec-2016 17:33:30 GMT], transfer-encoding=[chunked]}
Payload: {\"responseCode\":\"201\",\"messageId\":\"704c8163-13d4-42b8-a684-94b9d23e849e\",
\"lead\":[{\"responseCode\":\"201\",\"leadID\":null,\"errors\":[{\"errorField\":\"head\",\"errorDescription\":\"The value of email is invalid.\",\"errorCode\":\"Value_Invalid_E400\"},{\"errorField\":\"bestTimeToContact\",\"errorDescription\":\"The value of bestTimeToContact is invalid.\",\"errorCode\":\"Value_Invalid_E400\"}]}]}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2016-10-25 12:33:31,986 [http-000000:13111-2] INFO [org.apache.cxf.interceptor.LoggingOutInterceptor ?] Outbound Message ---------------------------
ID: 17
Response-Code: 200
Content-Type: application/json
Headers: {Content-Type=[application/json], Date=[Tue, 25 Oct 2016 17:33:31 GMT]}
Payload: {\"errors\":[{\"errorCode\":\"Value_Invalid_E400\",\"errorDescription\":\"The value of email is invalid.\",\"errorField\":\"head\"},{\"errorCode\":\"Value_Invalid_E400\",\"errorDescription\":\"The value of bestTimeToContact is invalid.\",\"errorField\":\"bestTimeToContact\"}]} --------------------------------------";
// 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/