Regex capturing is a very handy tool for extracting strings, but it can't be used directly in a match statement. This macro provides a more convenient method:
// use reg_match;
let input = "123abc";
let output = reg_match!(input {
r"(?<digits>\d+)(?<letters>.+)" => format!("{}-{}", letters, digits),
_ => "".to_string()
});
assert_eq!("abc-123", output);
By using the reg_match!
macro, you can directly extract variables from named capture groups within the expression.