// 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)\[((\w+)\b[^]]*)\]((?>(?!\[\2\b).|(?R))*)\[\/\2]").unwrap();
let string = "[html style=\"font-size: 18px;\" dir=\"ltr\"][div style=\"font-size: 18px;\" dir=\"ltr\"][p style=\"font-weight: bold;\"]Hello,[/p][p]You have got a new message from [a href=\"https://www.example.com/\"]Example.com[/a][br][br].You could check your message on [a href=\"https://www.example.com/en/manager/inbox.html\"]Manager[/a][/p][p][img src=\"https://www.example.com/assets/images/logo-default-120x50.png\" width=\"120px\" height=\"80px\"][div style=\"color: #D4192D; font-weight: bold;\"]Example.com Team[/div][/p][/div][/html]
[div style=\"font-size: 18px;\" dir=\"ltr\"][p style=\"font-weight: bold;\"]Hello,[/p][p]You have got a new message from [a href=\"https://www.example.com/\"]Example.com[/a][br][br].You could check your message on [a href=\"https://www.example.com/en/manager/inbox.html\"]Manager[/a][/p][p][img src=\"https://www.example.com/assets/images/logo-default-120x50.png\" width=\"120px\" height=\"80px\"][div style=\"color: #D4192D; font-weight: bold;\"]Example.com Team[/div][/p][/div]
You have got a new message from [a href=\"https://www.example.com/\"]Example.com[/a][br][br].You could check your message on [a href=\"https://www.example.com/en/manager/inbox.html\"]Manager[/a]";
let substitution = "<$1>$3</$2>";
// 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/