Наборы символов в регулярках в Rust
Квадратные скобки задают набор: один символ из перечисленного списка или диапазона внутри скобок. Так можно разрешить только нужные буквы или знаки.
Набор из одних цифр ведет себя похоже
на класс \d, но вы сами перечисляете
символы:
use regex::Regex;
fn main() {
let re = Regex::new(r"[02468]+").expect("bad pattern");
let line = "1357924680";
println!("{}", re.replace_all(line, "x"));
}
Дефис между двумя символами внутри набора задает диапазон по кодам символов. Так записывают блок строчных латинских букв:
use regex::Regex;
fn main() {
let re = Regex::new(r"[a-z]+").expect("bad pattern");
let line = "Ab cd EF";
println!("{}", re.replace_all(line, "!"));
}
Дана строка:
let line = "rgb rgba hex";
Найдите слова, которые состоят только
из букв "r", "g" или "b",
и замените их на "color".
Дана строка:
let line = "v1 v2 v10";
Выделите фрагменты "v" с одной
цифрой после буквы и замените на "ver".