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

Особенности дефиса внутри наборов в Rust

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

Диапазон цифр в середине набора покрывает все коды от левого символа до правого включительно:

use regex::Regex; fn main() { let re = Regex::new(r"[1-3]+").expect("bad pattern"); let line = "012345"; println!("{}", re.replace_all(line, "x")); }

Чтобы найти сам дефис, поставьте его у края набора или экранируйте:

use regex::Regex; fn main() { let re = Regex::new(r"[-x]+").expect("bad pattern"); let line = "a-b x-x"; println!("{}", re.replace_all(line, "!")); }

Дана строка:

let line = "A-C AZ";

Найдите только последовательность "A-C" с дефисом посередине, не захватывая лишние буквы.

Дана строка:

let line = "zip zap";

Подберите набор с диапазоном a-z для первых трех букв слова "zip" и замените на "*".

Скажите, чем опасен дефис в середине набора [a-z-0] по сравнению с записью [-a-z0].

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