Метод new класса RegexBuilder
Метод new класса RegexBuilder создаёт новый
конструктор регулярного выражения. Он принимает в качестве
параметра строку с шаблоном регулярного выражения и возвращает
значение типа RegexBuilder, которое затем можно
настроить с помощью различных методов и собрать в готовое
регулярное выражение методом build. Метод возвращает
Result, поэтому при некорректном шаблоне можно
обработать ошибку.
Синтаксис
RegexBuilder::new(pattern)
Пример
Давайте создадим простой конструктор регулярного выражения
с шаблоном "abc" и соберём его:
use regex::RegexBuilder;
fn main()
{
let builder = RegexBuilder::new("abc");
let re = builder.build().unwrap();
let res = re.is_match("abcde");
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Давайте создадим конструктор с настройкой регистронезависимого поиска и проверим совпадение:
use regex::RegexBuilder;
fn main()
{
let re = RegexBuilder::new("abc")
.case_insensitive(true)
.build()
.unwrap();
let res = re.is_match("ABC");
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Давайте передадим в конструктор некорректный шаблон и обработаем ошибку:
use regex::RegexBuilder;
fn main()
{
let res = RegexBuilder::new("(").build();
match res
{
Ok(_) => println!("ok"),
Err(e) => println!("error: {}", e),
}
}
Результат выполнения кода:
error: regex parse error:
(
^
error: unclosed group
Смотрите также
-
класс
RegexBuilder,
который представляет конструктор регулярного выражения -
метод
build,
который собирает регулярное выражение из конструктора -
метод
case_insensitive,
который включает регистронезависимый поиск -
метод
newклассаRegex,
который создаёт регулярное выражение напрямую из шаблона