Поиск совпадения в регулярных выражениях в Rust
Проверка совпадения отвечает логическим значением: есть хотя бы один подходящий кусок или нет. Поиск возвращает необязательный объект с первым совпадением слева направо.
Сначала убедимся, что в тексте встречаются цифры:
use regex::Regex;
fn main() {
let re = Regex::new(r"\d+").expect("bad pattern");
let line = "aaa 123 bbb";
println!("{}", re.is_match(line));
}
Поиск достает тот же фрагмент как строку, если он есть, иначе приходит пустой вариант:
use regex::Regex;
fn main() {
let re = Regex::new(r"\d+").expect("bad pattern");
let line = "aaa 123 bbb 456";
if let Some(m) = re.find(line) {
println!("{}", m.as_str());
}
}
Дана строка:
let line = "123 abc 456 cde";
Найдите первую подстроку из одних латинских букв и выведите ее.
Дана строка:
let line = "1 23 456 789";
Проверьте, есть ли число из трех цифр подряд, и выведите результат.