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

Флаги шаблона в регулярных выражениях в Rust

Флаг (?i) в начале шаблона включает поиск без учета регистра для всего выражения. Буквы в разном регистре совпадают одинаково.

Тот же режим задают через сборщик шаблона и поле case_insensitive:

use regex::RegexBuilder; fn main() { let re = RegexBuilder::new(r"rust") .case_insensitive(true) .build() .expect("bad pattern"); let line = "Rust RUST rust"; println!("{}", re.replace_all(line, "!")); }

Флаг (?m) включает многострочные края для крышки и доллара. Его дублирует поле multi_line у сборщика:

use regex::Regex; fn main() { let re = Regex::new(r"(?im)^word").expect("bad pattern"); let text = "word\nother\nword"; for m in re.find_iter(text) { println!("{}", m.as_str()); } }

Дана строка:

let line = "Code CODE code";

Замените каждое слово "code" на "*" без учета регистра.

Дана строка:

let text = "hi\nHI\nhi";

С флагом без учета регистра найдите строки, которые начинаются с "hi", в многострочном тексте.

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