Тип regex::Regex
Тип Regex из модуля regex представляет
скомпилированное регулярное выражение. Он создается
с помощью метода new, который принимает
строку с шаблоном регулярного выражения. После
создания Regex можно использовать для проверки
соответствия, поиска совпадений, извлечения групп
захвата и замены текста.
Синтаксис
use regex::Regex;
let re = Regex::new(r"pattern").unwrap();
Пример
Давайте создадим регулярное выражение для поиска
последовательности цифр и проверим, соответствует
ли строка "abc123" этому шаблону:
use regex::Regex;
fn main()
{
let re = Regex::new(r"\d+").unwrap();
let res = re.is_match("abc123");
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Давайте найдем первое совпадение с шаблоном
в строке "abc123def456":
use regex::Regex;
fn main()
{
let re = Regex::new(r"\d+").unwrap();
let res = re.find("abc123def456").unwrap();
println!("{}", res.as_str());
}
Результат выполнения кода:
"123"
Пример
Давайте найдем все совпадения с шаблоном
в строке "abc123def456":
use regex::Regex;
fn main()
{
let re = Regex::new(r"\d+").unwrap();
let res: Vec<&str> = re.find_iter("abc123def456")
.map(|m| m.as_str())
.collect();
println!("{:?}", res);
}
Результат выполнения кода:
["123", "456"]
Пример
Давайте заменим все последовательности цифр
на символ "#" в строке "abc123def456":
use regex::Regex;
fn main()
{
let re = Regex::new(r"\d+").unwrap();
let res = re.replace_all("abc123def456", "#");
println!("{}", res);
}
Результат выполнения кода:
"abc#def#"