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

Операторы повторения в регулярках в Rust

Плюс, звезда и вопрос стоят сразу после куска шаблона и говорят, сколько раз его можно повторить. Плюс требует хотя бы одно повторение, звезда допускает ноль, вопрос - ноль или одно.

Создайте проект Cargo и из его корня выполните команду добавления зависимости:

cargo add regex

Строка с именем крейта появится в секции зависимостей файла описания. Версию подберет сама команда, вручную число версии здесь не указываем.

В точке входа подключите крейт и соберите шаблон с повторением через плюс:

use regex::Regex; fn main() { let re = Regex::new(r"xa+x").expect("bad pattern"); let out = re.replace_all("xx xax xaax xaaax xbx", "!"); println!("{}", out); }

Замена затронет фрагменты, где между буквами "x" идет одна или несколько "a". Со звездочкой вместо плюса подойдет и пара "x" без "a" между ними:

use regex::Regex; fn main() { let re = Regex::new(r"xa*x").expect("bad pattern"); let out = re.replace_all("xx xax xaax xaaax xbx", "!"); println!("{}", out); }

Дана строка:

let line = "ab bb bbb a";

Составьте шаблон с плюсом так, чтобы заменить каждую группу буквы "b" длиной от двух символов на "*", и выведите результат.

Дана строка:

let line = "ax a ax aa";

Подберите шаблон со звездой, который заменит только "ax" и "aax" на восклицательный знак, не трогая одиночную "a" перед пробелом.

Дана строка:

let line = "color colour";

С помощью вопроса после "u" найдите оба написания слова про оттенок и замените их на "paint".

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