Тип RegexBuilder
Тип RegexBuilder предоставляет удобный способ
создания регулярного выражения с настройками.
Вместо того чтобы передавать флаги прямо в шаблон,
вы последовательно вызываете методы для настройки,
а затем метод build для получения готового
объекта Regex. Параметром метод new
принимает строку с шаблоном регулярного выражения.
Синтаксис
RegexBuilder::new(pattern)
.case_insensitive(true)
.multi_line(true)
.build()
Пример
Давайте создадим регулярное выражение с помощью
RegexBuilder, включив игнорирование регистра:
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 re = RegexBuilder::new("^abc")
.multi_line(true)
.build()
.unwrap();
let text = "abc\nabc\nxyz";
let res: Vec<&str> = re.find_iter(text)
.map(|m| m.as_str())
.collect();
println!("{:?}", res);
}
Результат выполнения кода:
["abc", "abc"]
Смотрите также
-
метод
new,
который создаёт новый построитель регулярного выражения -
метод
case_insensitive,
который включает игнорирование регистра -
метод
multi_line,
который включает многострочный режим -
метод
build,
который собирает готовое регулярное выражение