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

Метод find

Метод find класса Regex выполняет поиск первого совпадения с регулярным выражением в переданной строке. Метод принимает строку &str или другой тип, реализующий трейт IntoIterator, и возвращает значение Option<Match>. Если совпадение найдено, возвращается объект Match, содержащий информацию о позиции и найденном фрагменте. Если совпадений нет, возвращается None.

Синтаксис

regex.find(text)

Пример

Давайте найдём первое совпадение с шаблоном "\\d+" в строке "abc 123 def 456":

use regex::Regex; fn main() { let re = Regex::new(r"\d+").unwrap(); let res = re.find("abc 123 def 456"); match res { Some(m) => println!("{}", m.as_str()), None => println!("no match"), } }

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

"123"

Пример

Давайте выведем позицию найденного совпадения с помощью методов start и end:

use regex::Regex; fn main() { let re = Regex::new(r"\d+").unwrap(); if let Some(m) = re.find("abc 123 def 456") { println!("start: {}, end: {}", m.start(), m.end()); } }

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

start: 4, end: 7

Пример

Давайте проверим случай, когда совпадений нет:

use regex::Regex; fn main() { let re = Regex::new(r"\d+").unwrap(); let res = re.find("abcde"); match res { Some(m) => println!("{}", m.as_str()), None => println!("no match"), } }

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

no match

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

  • метод find_iter,
    который возвращает итератор по всем совпадениям
  • метод is_match,
    который проверяет наличие хотя бы одного совпадения
  • метод captures,
    который возвращает первое совпадение с группами захвата
  • метод new,
    который создаёт новое регулярное выражение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить