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

Метод end

Метод end класса Match возвращает индекс конца совпадения в исходной строке. Возвращаемое значение имеет тип usize и указывает на позицию сразу после последнего символа совпадения. Метод не принимает параметров.

Синтаксис

match.end()

Пример

Давайте найдём совпадение шаблона "[a-z]+" в строке "abcde 12345" и получим индекс конца совпадения:

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

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

5

Пример

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

use regex::Regex; fn main() { let re = Regex::new(r"[a-z]+").unwrap(); let text = "abcde 12345 xyz"; for m in re.find_iter(text) { println!("{}", m.end()); } }

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

5 13

Пример

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

use regex::Regex; fn main() { let re = Regex::new(r"\d+").unwrap(); let text = "abcde 12345"; if let Some(m) = re.find(text) { let matched = &text[m.start()..m.end()]; println!("{}", matched); } }

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

"12345"

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

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