// 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"(?mx)\+\/\-[\s\S]+?//[\s\S]+?(^\};\s+$)").unwrap();
let string = "block \"block1\"
{
ADDSFDJF
SDFSDFSDF
SDFSDFSDF
// subblock: subblock1 [master]
include \"/path/tofile/subblock1.conf\";
+/- subblock subblock1
// subblock: subblock1
subblock \"subblock1\"
{
type TYPE;
file \"name.file\";
details blah blah.
other {sdhsdf};
};
};
file \"dddd.file\";
details blah blah.
// subblock: subblock2
include \"/path/tofile/subblock2.conf\";
+/- subblock subblock2
// subblock: subblock2
subblock \"subblock2\"
{
type TYPE;
file \"name.file\";
details blah blah.
other {sdhsdf};
more fields
};
};";
let substitution = "";
// 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/