// 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)activity\"\s+:\s+\{\s+(?<ACTIVITY_FIELDS>.*)\}\s+\}"#).unwrap();
let string = "\"parts\" : [ { \"Mfg\" : \"SLF347\", \"Description\" : \"OP SYS\", \"quantity\" : 1, \"target\" : 0, \"Name\" : \"ACME\", \"quantityAT\" : 0, \"Mode\" : \"Manual\" }, { \"sku\" : \"8-45612-65423-0\", \"pDesc\" : \"INFOSERV\", \"quantity\" : 1, \"Name\" : \"ACME\", \"Mode\" : \"Manual\" } ], \"region\" : \"US\", \"scheduled\" : false, \"LevelEpoch\" : \"1570750199\", \"account\" : { \"channel\" : \"USPA\" }, \"activity\" : { \"dNumber\" : 718526123, \"build\" : 12, \"TimeZone\" : \"GMT-08:00\", \"description\" : \"Windows 10\", \"groupName\" : \"WestGroup\", \"id\" : \"A-2KJLSJRHE\", \"priority\" : \"Low\", \"reasonCode\" : \"GH5HTH\", \"recordType\" : \"Fix\", \"status\" : \"DCNR\", \"statusDescription\" : \"Def Request\", \"solution\" : \"Re-install\", \"AgencyRev\" : false, \"statusDateEpoch\" : \"1573715886\", \"rCount\" : 1, \"arrivalTimezone\" : \"GMT-06:00\", \"Start\" : 1569938400000, \"End\" : 1571097540000, \"Used\" : \"Y\", \"laborCode\" : \"Ackgd\", \"partCode\" : \"Ced\", \"note\" : \"Issue Description : Re-Install\", \"owner\" : { \"BU\" : 0, \"certFlag\" : false, \"name\" : \"John Doe\", \"Id\" : 0 }, \"environment\" : \"None\", \"subEnvironment\" : \"Other\", \"serialNumber\" : \"ADN0970234529387509237\", \"UID\" : \"B-4FJFLL\", \"DateEpoch\" : \"1569701589\", \"repeat\" : \"N\", \"servAtt\" : { \"ServiceType\" : \"Fix\", \"ServiceSubType\" : \"WH\", \"Billable\" : \"N\", \"CompleteUnit\" : \"N\", \"OutHour\" : \"N\", \"OutWarranty\" : \"N\", \"ServHour\" : \"365x24x7\", \"Level\" : \"10\", \"ProviderId\" : \"LEK\", \"ServpProvider\" : \"LEK\", \"System\" : \"Notebook\", \"Deferred\" : \"No\", \"Cover\" : \"5-10x5\", \"ScheduleFlag\" : \"N\", \"Component\" : \"N\" } }, \"address\" : { \"address\" : \"1 Main St\", \"address1\" : \"1 Main St\", \"city\" : \"Nowhere\", \"country\" : \"US\", \"postalCode\" : \"12345\", \"region\" : \"US\", \"state\" : \"ZZ\", \"timeZone\" : \"GMT-08:00\" }";
// 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/