// 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)("ControlLabel": ")(.*)(",\n\s*)("ControlOptions":.*)(Select all that apply:\\r\\n)(.*)(\n\s*"ControlType": ")(OneResponse")"#).unwrap();
let string = " }, {
\"ControlLabel\": \"How the post-op instructions were given\",
\"ControlOptions\": \"Select all that apply:\\r\\ncomputer generated\\r\\nverbal\\r\\nwritten\",
\"ControlType\": \"OneResponse\",
\"Descript\": \"Post-Op Instructions\"
}, {
\"ControlLabel\": \"The degree of scaling\",
\"ControlOptions\": \"general\\r\\nlight\",
\"ControlType\": \"MultiResponse\",
\"Descript\": \"Prophy Scaling\"
}, {
\"ControlLabel\": \"The quadrants\",
\"ControlOptions\": \"Select all that apply:\\r\\nUpper Right\\r\\nUpper Left\\r\\nLower Right\\r\\nLower Left\",
\"ControlType\": \"OneResponse\",
\"Descript\": \"Quadrant-Select Multiple\"";
let substitution = "\\1\\2. Select all that apply.\\3\\4\\6\\7MultiResponse\"";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", result);
}
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/