Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpRgSE 176 of 288 menu
◀ ▶

Исключение в наборе в регулярных выражениях в Rust

Внутри набора можно задать исключение: базовый класс или диапазон минус другой набор в двойных скобках. Так оставляют, например, цифры без нуля.

Запись с двойными скобками читается как символ из левой части, но не из правой:

use regex::Regex; fn main() { let re = Regex::new(r"[\d&&[^0]]+").expect("bad pattern"); let line = "105 208 0"; println!("{}", re.replace_all(line, "n")); }

Тот же прием работает с буквами: из строчных латинских можно убрать гласные и искать только согласные:

use regex::Regex; fn main() { let re = Regex::new(r"[a-z&&[^aeiou]]+").expect("bad pattern"); let line = "hello world"; println!("{}", re.replace_all(line, "*")); }

Дана строка:

let line = "1 12 123 0";

Найдите числа без ведущей цифры ноль через пересечение набора цифр с инверсией "0".

Дана строка:

let line = "abc ABC";

Составьте набор строчных букв без "a" и "b" и замените найденные куски на "?".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить