Maak geavanceerde patronen beter leesbaar
Mooi, je beheerst al het maken van patronen die een lijst met namen matchen door ze te laten samenvallen met de pipe | als scheidingsteken. Maar collapsen is ook handig om kleine, behapbare delen van een patroon aan elkaar te plakken. Met glue_collapse() en een vector (met of zonder namen, beide kan) als enige invoer kun je van kleine stukjes hele lange en ingewikkelde patronen maken die veel makkelijker te begrijpen zijn.
De variabele users is uit onze database geëxporteerd en is weer beschikbaar in de globale scope. In deze oefening zijn we echter niet alleen geïnteresseerd in de gebruikersnaam, maar ook in het cijfer en het e-mailadres die daarop volgen.
Deze oefening maakt deel uit van de cursus
Gevorderde reguliere expressies in R
Oefeninstructies
- Bekijk opnieuw de inhoud van
users. - Waar we de gebruikersnaam verwachten, schrijf je een patroon dat één of meer letters matcht. Gebruik rechte haken
[]om dit eigen patroon te maken. - Waar we het aantal logins voor die gebruiker verwachten, schrijf je een patroon dat één of meer cijfers matcht. Gebruik hiervoor de tekenklasse voor cijfers.
- Omdat het e-mailadres als laatste in elke regel komt, schrijf je een eenvoudig patroon dat één of meer willekeurige tekens matcht.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Familiarize yourself with users by printing its contents
print(___)
advanced_pattern <- glue_collapse(c(
# Match one or more alphabetical letters
"username" = "^___",
": ",
# Match one or more digit
"logins" = "___",
", ",
# Match one or more arbitrary characters
"email" = "___$"
))
str_view(users, advanced_pattern)