// 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#"("[^"]+"):\s*{[^}]*},?\K"#).unwrap();
let string = "\"g1\": {
\"k1\": \"v1\",
\"k2\": \"v2\",
\"k3\": \"v3\"
},
\"g2\": {
\"k4\": \"v4\",
\"k5\": \"v5\",
\"k6\": \"v6\"
},
\"g3\": {
\"k7\": \"v7\",
\"k8\": \"v8\",
\"k9\": \"v9\"
},
\"g1\": {
\"k1\": \"v1\",
\"k2\": \"v2\",
\"k3\": \"v3\"
},
\"g2\": {
\"k4\": \"v4\",
\"k5\": \"v5\",
\"k6\": \"v6\"
},
\"g3\": {
\"k7\": \"v7\",
\"k8\": \"v8\",
\"k9\": \"v9\"
},
\"g1\": {
\"k1\": \"v1\",
\"k2\": \"v2\",
\"k3\": \"v3\"
},
\"g2\": {
\"k4\": \"v4\",
\"k5\": \"v5\",
\"k6\": \"v6\"
},
\"g3\": {
\"k7\": \"v7\",
\"k8\": \"v8\",
\"k9\": \"v9\"
}";
let substitution = "\\1";
// 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/