// 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)itemVar":{"value":"([\s\S]*?)"}"#).unwrap();
let string = "[{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"x\":92,\"y\":88,\"parts\":{\"itemVar\":{\"value\":\"GUID\"},\"type\":{\"value\":\"text\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"SelectedModuleGUID\"},\"type\":{\"value\":\"text\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"Id\"},\"type\":{\"value\":\"text\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"Label\"},\"type\":{\"value\":\"text\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"isInfiltration\"},\"type\":{\"value\":\"boolean\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"UnderdrainSize\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"UnderdrainInvert\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"ModuleLayoutType\"},\"type\":{\"value\":\"text\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"RequiredSurfaceArea\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"AcualSurfaceArea\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"DesiredWidth\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"TotalRequiredLength\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"EstimatedModuleNumber\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"ModuleWidth\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"ModuleLength\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"arrModuleLengths\"},\"type\":{\"value\":\"number[]\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"ModuleHeight\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"ModuleKeys\"},\"type\":{\"value\":\"text[]\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"extentsXMax\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"extentsXMin\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"extentsYMax\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"extentsYMin\"},\"type\":{\"value\":\"number\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"SystemDesignation\"},\"type\":{\"value\":\"text\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"isValid\"},\"type\":{\"value\":\"boolean\"},\"next\":{\"$type\":\"DeclareGlobalTypePropertyBlock\",\"parts\":{\"itemVar\":{\"value\":\"hasInvalidModule\"},\"type\":{\"value\":\"boolean\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}]";
// 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/