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

Граница слов в регулярках в Rust

Запись \b обозначает границу слова: место между символом класса слова и символом вне этого класса. Сама граница в совпадение не попадает.

Так замена затронет целое слово, а не кусок внутри другого слова:

use regex::Regex; fn main() { let re = Regex::new(r"\bcat\b").expect("bad pattern"); let line = "cat scatter cat"; println!("{}", re.replace_all(line, "dog")); }

Две границы вокруг шаблона требуют отдельного слова из ASCII-букв и цифр:

use regex::Regex; fn main() { let re = Regex::new(r"\b\d+\b").expect("bad pattern"); let line = "id12 12ab 99"; for m in re.find_iter(line) { println!("{}", m.as_str()); } }

Дана строка:

let line = "the them theme";

Замените только отдельное слово "the" на "*", не ломая "them" и "theme".

Дана строка:

let line = "reform preform";

Найдите отдельное слово "form" и скажите, сколько совпадений получится.

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