// 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*((?:a|strong|em)\b)([^\]]*)\]").unwrap();
let string = "[a href=\"https://www.example.com/page\"]Example page[/a] is a [strong]valid[/strong] tag.
[em class=\"something\"] is also allowed[/em]
But <param> or <argument> should be escaped.
This also: <br/> <
br /> <script type=\"text/javascript\">alert('xss'></script>
Turn left <- or turn right ->
Also, accept this => or a smiley >.<";
let substitution = "<\\1\\2\\3>";
// 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/