// 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"(?'type'.*?) (?'name'.*)").unwrap();
let string = "QString CurrentVideoSource";
let substitution = "Q_PROPERTY(\\{type} \\{name} READ \\{name} WRITE set\\{name} NOTIFY \\{name}Changed)\\n\\n\\{type} \\{name}() const\\n{ return m_\\{name}; }\\n\\nvoid set\\{name}(\\{type} \\{name})\\n{\\n\\tif(this->m_\\{name} != \\{name})\\n\\t{\\n\\t\\tthis->m_\\{name} = \\{name};\\n\\t\\temit \\{name}Changed();\\n\\t}\\n}\\n\\nvoid \\{name}Changed();\\n\\n\\{type} m_\\{name};";
// result will be a String with the substituted value
let result = regex.replace(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/