// 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\S]|[^"])*")|((?:\/\/|#)[^\n]*)|(\/\*[\s\S]*?\*\/)"#).unwrap();
let string = "//first line
{\"aaa\": \"qwerty\",//00
\"bbb\": 1234 //comment (not pure JSON syntax)
,\"ccc\": true # alternative comment style
,\"dd\\\"d\":/*multiline\\\" comm\\ent*/ /*comm2\\*/null,
\"ee//e\": \"example of any symbols in key including inactive comments\",
\"jsonComm\":/*is*/\"data format\",/*which contains*///comments
\"multiline1\" /*: 1, //- example of multiline comments
\"multiline2\": 2,
\"multiline3\":= 1234,*/ :[36.8,false/*,34*/,
\"/**/\",[1,2,3,4,[//56789
5,6,[[/*0*/7,{\"x\":/*xx*/\"x\"}],8]],{}] ],
\"mayBeAnyStructure\":{\"a\":1/**/,\"b\":2},
\"lineEnd\\\\\"
:\"end\"
}//after json
/*2*/ ";
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/