Aan de slagBegin gratis

grepl & grep (2)

Je kunt het dakje ^ en het dollarteken $ gebruiken om respectievelijk het begin en het einde van een string te matchen. Dit brengt ons een stap dichter bij een correct patroon om alleen de ".edu"-e-mailadressen uit onze lijst te matchen. Maar er is meer dat je kunt toevoegen om het patroon robuuster te maken:

  • @, omdat een geldig e-mailadres een apenstaartje moet bevatten.
  • .*, dat elk teken (.) nul of meer keer (*) matcht. Zowel de punt als de asterisk zijn metatekens. Je kunt ze gebruiken om willekeurige tekens tussen het apenstaartje en het ".edu"-deel van een e-mailadres te matchen.
  • \\.edu$, om het ".edu"-deel van het e-mailadres aan het einde van de string te matchen. Het \\-gedeelte escaped de punt: het vertelt R dat je de . als een letterlijk teken wilt gebruiken.

Deze oefening maakt deel uit van de cursus

R voor gevorderden

Bekijk cursus

Oefeninstructies

  • Gebruik grepl() met de meer geavanceerde reguliere expressie om een logische vector terug te geven. Print het resultaat gewoon.
  • Doe iets vergelijkbaars met grep() om een vector met indexen te maken. Sla het resultaat op in de variabele hits.
  • Gebruik opnieuw emails[hits] om de vector emails te filteren.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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
Code bewerken en uitvoeren