РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
978 of 1245 menu

Тип Match

Тип Match представляет собой структуру, которая хранит информацию об одном найденном совпадении регулярного выражения в строке. Он содержит ссылку на исходный текст и диапазон байтов, в котором находится совпадение. Объекты этого типа возвращают такие методы, как find и элементы итератора find_iter.

Синтаксис

Match<'t>

Параметр 't - это время жизни ссылки на исходную строку, к которой привязано совпадение.

Основные методы

Тип Match предоставляет следующие методы:

  • as_str - возвращает найденную подстроку
  • start - возвращает начальную позицию совпадения
  • end - возвращает конечную позицию совпадения
  • range - возвращает диапазон позиций совпадения

Пример

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

use regex::Regex; fn main() { let re = Regex::new(r"\d+").unwrap(); let text = "abc123def456"; let res = re.find(text).unwrap(); println!("{}", res.as_str()); }

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

"123"

Пример

Давайте получим начальную и конечную позиции совпадения с помощью методов start и end:

use regex::Regex; fn main() { let re = Regex::new(r"\d+").unwrap(); let text = "abc123def456"; let res = re.find(text).unwrap(); println!("start: {}, end: {}", res.start(), res.end()); }

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

start: 3, end: 6

Пример

Давайте переберём все совпадения в строке с помощью итератора find_iter, который возвращает объекты типа Match:

use regex::Regex; fn main() { let re = Regex::new(r"\d+").unwrap(); let text = "abc123def456"; for m in re.find_iter(text) { println!("{}", m.as_str()); } }

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

"123" "456"

Пример

Давайте получим диапазон позиций совпадения через метод range:

use regex::Regex; fn main() { let re = Regex::new(r"[a-z]+").unwrap(); let text = "123abc456"; let res = re.find(text).unwrap(); println!("{:?}", res.range()); }

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

3..6

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

  • класс Regex,
    который представляет скомпилированное регулярное выражение
  • метод find,
    который возвращает первое совпадение в строке
  • метод find_iter,
    который возвращает итератор по всем совпадениям
  • метод as_str,
    который возвращает найденную подстроку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить