// 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)(.*)(Afronding)([0-9\"\.\s:]*)(,\n)"#).unwrap();
let string = "{
\"ImsManifestIdentifier\": \"MMANIFEST-2b0b0b9e-6a3c-4af6-ac18-903355ffab58\",
\"PackageGuid\": \"ab8b5d84-b165-4806-a5fc-58d00ce2a195\",
\"PackageVersie\": 223296366,
\"ToetsGuid\": \"09f5836d-285a-4970-ad93-fb9610201e15\",
\"ToetsVersie\": 10001,
\"RuweScore\": \"0\",
\"Vaardigheid\": \"0\",
\"Afronding\": \"1\",
\"SchoolTypes\": {
\"VOVMBO\": \"1\",
\"MBO2\": \"1\",
\"MBO3\": \"1\"
}
}, {
\"ImsManifestIdentifier\": \"MMANIFEST-2b0b0b9e-6a3c-4af6-ac18-903355ffab58\",
\"PackageGuid\": \"ab8b5d84-b165-4806-a5fc-58d00ce2a195\",
\"PackageVersie\": 223296366,
\"ToetsGuid\": \"09f5836d-285a-4970-ad93-fb9610201e15\",
\"ToetsVersie\": 10001,
\"RuweScore\": \"1\",
\"Vaardigheid\": \"14,0\",
\"Afronding\": \"1\",
\"SchoolTypes\": {
\"VOVMBO\": \"1,1\",
\"MBO2\": \"1,1\",
\"MBO3\": \"1\"
}
}, {
\"ImsManifestIdentifier\": \"MMANIFEST-2b0b0b9e-6a3c-4af6-ac18-903355ffab58\",
\"PackageGuid\": \"ab8b5d84-b165-4806-a5fc-58d00ce2a195\",
\"PackageVersie\": 223296366,
\"ToetsGuid\": \"09f5836d-285a-4970-ad93-fb9610201e15\",
\"ToetsVersie\": 10001,
\"RuweScore\": \"2\",
\"Vaardigheid\": \"23\",
\"Afronding\": \"1\",
\"SchoolTypes\": {
\"VOVMBO\": \"2,5\",
\"MBO2\": \"2,5\",
\"MBO3\": \"1,5\"
}
}";
// 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/