Метод matches
Метод matches проверяет, какие регулярные
выражения из набора RegexSet совпадают
с переданным текстом. Он возвращает итератор,
содержащий индексы тех шаблонов, которые нашли
совпадение. Параметром метод принимает текст,
в котором нужно выполнить поиск.
Синтаксис
regex_set.matches(text)
Пример
Давайте создадим набор из трех регулярных выражений
и проверим, какие из них совпадут со строкой
"abcde":
use regex::RegexSet;
fn main()
{
let set = RegexSet::new(&[
r"abc",
r"xyz",
r"cde",
]).unwrap();
let res: Vec<usize> = set.matches("abcde").iter().collect();
println!("{:?}", res);
}
Результат выполнения кода:
[0, 2]
Пример
Давайте проверим, какие шаблоны совпадут
со строкой "12345", используя набор
из трех выражений:
use regex::RegexSet;
fn main()
{
let set = RegexSet::new(&[
r"\d+",
r"abc",
r"234",
]).unwrap();
let res: Vec<usize> = set.matches("12345").iter().collect();
println!("{:?}", res);
}
Результат выполнения кода:
[0, 2]