НачатьНачать бесплатно

grepl и grep (2)

Символ ^ (крышка) и знак доллара $ позволяют искать совпадения в начале и в конце строки соответственно. Это приближает нас к более точному шаблону для отбора только ".edu" адресов из нашего списка. Но шаблон можно сделать ещё надёжнее, добавив следующие элементы:

  • @ — потому что в любом корректном email-адресе должен быть символ «@».
  • .* — соответствует любому символу (.) ноль или более раз (*). Точка и звёздочка являются метасимволами. С их помощью можно задать соответствие любым символам между «@» и частью ".edu" в адресе электронной почты.
  • \\.edu$ — соответствует части ".edu" в конце строки. Конструкция \\ экранирует точку: она сообщает R, что точку нужно воспринимать как обычный символ, а не как метасимвол.

Это упражнение является частью курса

Intermediate R

Посмотреть курс

Инструкции к упражнению

  • Используйте grepl() с расширенным регулярным выражением, чтобы получить логический вектор. Просто выведите результат на экран.
  • Сделайте то же самое с помощью grep(), чтобы получить вектор индексов. Сохраните результат в переменную hits.
  • Используйте emails[hits] для выборки элементов из вектора emails.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# The emails vector has already been defined for you
emails <- c("[email protected]", "[email protected]", "[email protected]",
            "invalid.edu", "[email protected]", "[email protected]")

# Use grepl() to match for .edu addresses more robustly


# Use grep() to match for .edu addresses more robustly, save result to hits


# Subset emails using hits
Редактировать и запускать код