grepl e grep (2)

Você pode usar o acento circunflexo, ^, e o cifrão, $, para corresponder ao conteúdo localizado no início e no final de uma string, respectivamente. Isso pode nos levar um passo mais perto de um padrão correto para corresponder apenas aos endereços de e-mail ".edu" da nossa lista de e-mails. Mas você pode adicionar mais coisas para tornar o padrão mais robusto:

  • @, porque um e-mail válido deve conter arroba.
  • .*que corresponde a qualquer caractere (.) zero ou mais vezes (*). Tanto o ponto quanto o asterisco são metacaracteres. Você pode usá-los para corresponder a qualquer caractere entre o sinal de arroba e a parte ".edu" de um endereço de e-mail.
  • \\.edu$, para corresponder à parte ".edu" do e-mail no final da string. A parte \\ escapa o ponto: ela informa ao R que você deseja usar o . como um caractere real.

Este exercício faz parte do curso

R intermediário

Ver Curso

Instruções de exercício

  • Use grepl() com a expressão regular mais avançada para retornar um vetor lógico. Basta imprimir o resultado.
  • Faça algo semelhante com grep() para criar um vetor de índices. Armazene o resultado na variável hits.
  • Use emails[hits] novamente para fazer um subconjunto do vetor emails.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# The emails vector has already been defined for you
emails <- c("john.doe@ivyleague.edu", "education@world.gov", "dalai.lama@peace.org",
            "invalid.edu", "quant@bigdatacollege.edu", "cookie.monster@sesame.tv")

# 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