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

Метод range

Метод range возвращает диапазон позиций совпадения в виде структуры Range. Этот диапазон указывает, с какого байта начинается совпадение и на каком байте заканчивается. Метод не принимает параметров и вызывается на объекте совпадения.

Синтаксис

match.range()

Пример

Давайте найдём диапазон совпадения шаблона "[0-9]+" в строке "abc12345":

use regex::Regex; fn main() { let re = Regex::new("[0-9]+").unwrap(); let text = "abc12345"; let m = re.find(text).unwrap(); println!("{:?}", m.range()); }

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

3..8

Пример

Давайте извлечём подстроку по полученному диапазону с помощью среза строки:

use regex::Regex; fn main() { let re = Regex::new("[0-9]+").unwrap(); let text = "abc12345"; let m = re.find(text).unwrap(); let r = m.range(); let res = &text[r]; println!("{}", res); }

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

"12345"

Пример

Давайте сравним диапазон, возвращаемый методом range, с позициями, возвращаемыми методами start и end:

use regex::Regex; fn main() { let re = Regex::new("[a-z]+").unwrap(); let text = "12345abcde"; let m = re.find(text).unwrap(); println!("{:?}", m.range()); println!("{}", m.start()); println!("{}", m.end()); }

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

5..10 5 10

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

  • структура Match,
    которая представляет найденное совпадение
  • метод start,
    который возвращает начальную позицию совпадения
  • метод end,
    который возвращает конечную позицию совпадения
  • метод as_str,
    который возвращает совпавшую подстроку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить