Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
977 of 1246 menu
◀ ▶

Метод name класса Captures

Метод name класса Captures возвращает имя группы захвата по её числовому индексу. Параметром метод принимает индекс группы захвата в виде числа usize. Если группа с таким индексом не имеет имени, метод вернёт None. Метод полезен, когда нужно программно определить, каким именем обладает та или иная группа в регулярном выражении.

Синтаксис

captures.name(index)

Пример

Давайте получим имя группы захвата с индексом 1 из регулярного выражения с именованными группами:

use regex::Regex; fn main() { let re = Regex::new(r"(?P<first>\w+) (?P<second>\w+)").unwrap(); let text = "hello world"; let caps = re.captures(text).unwrap(); let name = caps.name(1); println!("{:?}", name); }

Результат выполнения кода:

"first"

Пример

Давайте получим имя группы захвата с индексом 2:

use regex::Regex; fn main() { let re = Regex::new(r"(?P<first>\w+) (?P<second>\w+)").unwrap(); let text = "hello world"; let caps = re.captures(text).unwrap(); let name = caps.name(2); println!("{:?}", name); }

Результат выполнения кода:

"second"

Пример

Давайте попробуем получить имя группы захвата с индексом 0. Нулевая группа всегда соответствует всему совпадению и не имеет имени:

use regex::Regex; fn main() { let re = Regex::new(r"(?P<first>\w+) (?P<second>\w+)").unwrap(); let text = "hello world"; let caps = re.captures(text).unwrap(); let name = caps.name(0); println!("{:?}", name); }

Результат выполнения кода:

None

Смотрите также

  • класс Captures,
    который хранит результаты захвата групп регулярного выражения
  • метод get,
    который возвращает совпадение группы захвата по индексу
  • метод index,
    который возвращает совпадение группы захвата по имени
  • метод capture_names,
    который возвращает имена всех групп захвата
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить