// 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"(?mu)^(\w{4,}?)(?:es|s|e|x)$").unwrap();
let string = "I am trying to delete all word suffixes -es, -s, -e or -x of all words that have at least 4 characters after removing the suffix, using regex in Python.
There are some examples of desired output (in French):
technologiques
→ technologiqu
pares
→ pare (the word is too small so it does not remove the \"es\", only the \"s\")
bas
→ bas (the word is too small so it does not do anything)
matériaux
→ materiau
sièges
→ sieg
siege
→ sieg
feuilletées
→ feuilleté
dos
→ dos
";
let substitution = "\\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/