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

Первая замена в регулярных выражениях в Rust

Замена одного совпадения работает как полная замена, но останавливается после первого найденного куска. Хвост строки остается как был.

Сравним одну замену и замену всех на одной строке:

use regex::Regex; fn main() { let re = Regex::new(r"\d").expect("bad pattern"); let line = "a1b2c3"; println!("{}", re.replace(line, "X")); println!("{}", re.replace_all(line, "X")); }

В строке подстановки можно использовать карман и для первой замены:

use regex::Regex; fn main() { let re = Regex::new(r"(\w+)@(\w+)").expect("bad pattern"); let line = "a@m b@n"; let out = re.replace(line, "$2@$1"); println!("{}", out); }

Дана строка:

let line = "foo bar foo";

Замените только первое "foo" на "baz" и выведите строку.

Дана строка:

let line = "1-2-3-4";

Замените первый дефис на ":", не меняя остальные.

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