Komplexe Muster lesbarer machen
Alles klar, du beherrschst bereits Muster, die eine Liste von Namen matchen, indem du sie mit dem Pipe-Zeichen | als Trennzeichen kollabierst. Aber Collapsing ist auch nützlich, um kleine, gut verdauliche Teile eines Musters zu verketten. Mit glue_collapse() und einem Vektor (mit oder ohne Namen, beides ist möglich) als einzigem Input kannst du aus kleinen Bausteinen sehr lange und komplizierte Muster erstellen, die viel leichter zu interpretieren sind.
Die Variable users wurde aus unserer Datenbank exportiert und steht wieder im globalen Scope zur Verfügung. In dieser Übung interessieren uns jedoch nicht nur die Benutzernamen, sondern auch die Ziffer und die E-Mail-Adresse, die darauf folgen.
Diese Übung ist Teil des Kurses
Fortgeschrittene Reguläre Ausdrücke in R
Anleitung zur Übung
- Schau dir noch einmal den Inhalt von
usersan. - Dort, wo wir den Benutzernamen erwarten, schreibe ein Muster, das einen oder mehr alphabetische Buchstaben matcht. Verwende dafür eckige Klammern
[], um dieses eigene Muster zu erstellen. - Dort, wo wir die Anzahl der Logins für diese Person erwarten, schreibe ein Muster, das eine oder mehr Ziffern matcht. Verwende dafür die Ziffern-Zeichenklasse.
- Da die E-Mail in jeder Zeile zuletzt kommt, schreibe ein einfaches Muster, das einen oder mehr beliebige Zeichen matcht.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)