Функция new класса Regex
Функция new класса Regex создаёт
новый объект регулярного выражения на основе
переданного строкового шаблона. Параметром функция
принимает шаблон регулярного выражения в виде строки
или среза строки. Если шаблон корректный, возвращается
значение типа Result с объектом Regex
в варианте Ok. Если шаблон содержит ошибку,
возвращается вариант Err с описанием ошибки.
Синтаксис
Regex::new(pattern)
Пример
Давайте создадим регулярное выражение для поиска
последовательности цифр и проверим его работу
на строке "abc123":
use regex::Regex;
fn main()
{
let re = Regex::new(r"\d+").unwrap();
let res = re.is_match("abc123");
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Давайте найдём первое вхождение цифр в строке
"abc123" и выведем его:
use regex::Regex;
fn main()
{
let re = Regex::new(r"\d+").unwrap();
let res = re.find("abc123").unwrap().as_str();
println!("{}", res);
}
Результат выполнения кода:
"123"
Пример
Давайте попробуем создать регулярное выражение с некорректным шаблоном и обработаем ошибку:
use regex::Regex;
fn main()
{
let res = Regex::new(r"(abc");
match res
{
Ok(_) => println!("regex created"),
Err(e) => println!("error: {}", e),
}
}
Результат выполнения кода:
error: regex parse error:
(abc
^
error: unclosed group