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

Кириллица в регулярных выражениях в Rust

Класс слова в этом крейте не включает кириллицу. Русский текст ищут через свойства Юникода в фигурных скобках после обратного слэша и буквы p.

Запись для блока кириллицы позволяет собрать слово из русских букв так же, как латинское слово из класса слова:

use regex::Regex; fn main() { let re = Regex::new(r"\p{Cyrillic}+").expect("bad pattern"); let line = "hello мир world"; println!("{}", re.replace_all(line, "!")); }

Можно сузить набор до строчных или прописных букв блока, если рядом с именем свойства указать модификатор:

use regex::Regex; fn main() { let re = Regex::new(r"\p{Cyrillic}{3}").expect("bad pattern"); let line = "дом домик"; if re.is_match(line) { println!("found"); } }

Дана строка:

let line = "Rust и мир";

Замените каждое русское слово на "RU", не трогая латиницу.

Дана строка:

let line = "abc123";

Объясните, почему шаблон с классом слова не подходит для проверки, что строка целиком на кириллице.

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