// 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)\\tilde[\s+]?[\n+]?(\\alpha|\\beta|\\gamma|[A-Za-hj-z]+)").unwrap();
let string = "$\\tilde \\alpha(\\Aff(X))$
$\\tilde \\beta|_{H_1^{\\mathrm{st}}(X)}$
$\\tilde{\\alpha}(\\Aff(X))$
$\\tilde{\\gamma}|_{H_1^{\\mathrm{st}}(X)}$
$\\tilde
\\alpha(\\Aff(X))$
$\\tilde
\\gamma|_{H_1^{\\mathrm{st}}(X)}$
$\\tilde
{\\alpha}(\\Aff(X))$
$\\tilde
{\\alpha}|_{H_1^{\\mathrm{st}}(X)}$
%%%%%%%%%%%%%%%%%%%%%%%%
$\\tilde A(\\Aff(X))$
$\\tilde B|_{H_1^{\\mathrm{st}}(X)}$
$\\tilde{A}(\\Aff(X))$
$\\tilde{B}|_{H_1^{\\mathrm{st}}(X)}$
$\\tilde
A(\\Aff(X))$
$\\tilde
B|_{H_1^{\\mathrm{st}}(X)}$
$\\tilde i$
$\\tilde
{a}(\\Aff(X))$
$\\tilde
{i}|_{H_1^{\\mathrm{st}}(X)}$";
let substitution = "\\\\wtilde{$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/