// 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)"(?!Block\d|Field001|Field002|Field_003)[-\w]+":[^,\r\n]+,?\s*"#).unwrap();
let string = " {
\"Block1\":{
\"Field001\":\"Value001\",
\"Field002\":\"Value002 \",
\"Field003\":1000,
\"Field004\":\"Value004\",
\"Field005\":1000,
\"Field00N\":1000
},
\"Block2\":{
\"Field-001\":\"Value-001\",
\"Field-002\":\"Value-002\",
\"Field-003\":\"Value-003\",
\"Field-00N\":\"Value-004\"
},
\"Block3\":{
\"Field_001\":\"Value_001\",
\"Field_002\":\"Value_002\",
\"Field_003\":\"Value_003\"
}
}";
// 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/