Метод index класса Captures
Метод index класса Captures возвращает захваченную
группу регулярного выражения по её номеру. Параметром
метод принимает номер группы, которую нужно получить.
Нулевая группа соответствует всему совпадению целиком.
Метод возвращает значение типа Match.
Метод index обычно используется через синтаксис
квадратных скобок: captures[1], captures[2]
и так далее. Если группа с указанным номером не участвовала
в совпадении, метод вызовет панику. Для безопасного получения
группы используйте метод get.
Синтаксис
captures.index(group)
Пример
Давайте найдём первое совпадение по регулярному выражению и получим вторую группу через синтаксис квадратных скобок:
use regex::Regex;
fn main()
{
let re = Regex::new(r"(\d+)-(\d+)").unwrap();
let text = "12345-67890";
let caps = re.captures(text).unwrap();
let res = &caps[2];
println!("{}", res);
}
Результат выполнения кода:
"67890"
Пример
Давайте получим нулевую группу, которая соответствует всему совпадению целиком:
use regex::Regex;
fn main()
{
let re = Regex::new(r"(\d+)-(\d+)").unwrap();
let text = "12345-67890";
let caps = re.captures(text).unwrap();
let res = &caps[0];
println!("{}", res);
}
Результат выполнения кода:
"12345-67890"
Пример
Давайте получим первую группу через явный вызов метода
index:
use regex::Regex;
fn main()
{
let re = Regex::new(r"(\d+)-(\d+)").unwrap();
let text = "12345-67890";
let caps = re.captures(text).unwrap();
let res = caps.index(1).as_str();
println!("{}", res);
}
Результат выполнения кода:
"12345"
Смотрите также
-
метод
get,
который безопасно возвращает захваченную группу по номеру -
метод
name,
который возвращает захваченную группу по имени -
метод
captures,
который возвращает первый набор захваченных групп -
метод
captures_iter,
который возвращает итератор по всем наборам захваченных групп