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

Все совпадения в регулярных выражениях в Rust

Если подходящих кусков несколько, один поиск вернет только первый. Обход по итератору находит каждое следующее совпадение слева направо.

Соберем все числа из строки:

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

Отдельный обход возвращает карманы для каждого совпадения, если в шаблоне есть группы:

use regex::Regex; fn main() { let re = Regex::new(r"(\w)=(\d)").expect("bad pattern"); let line = "a=1 b=2 c=3"; for cap in re.captures_iter(line) { if let Some(k) = cap.get(1) { if let Some(v) = cap.get(2) { println!("{}:{}", k.as_str(), v.as_str()); } } } }

Дана строка:

let line = "one two three four";

Выведите каждое слово из латинских букв на отдельной строке.

Дана строка:

let line = "x=1 x=2 y=3";

Обойдите все пары буква-цифра через карманы и посчитайте, сколько раз встретилась буква "x".

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