Zpřehledni složité vzory
Výborně, sestavování vzorů, které odpovídají seznamu jmen pomocí | jako oddělovače, ti jde skvěle. Ale skládání (collapse) se hodí i k jinému účelu – umožňuje spojit drobné, srozumitelné části vzoru do jednoho celku. Pomocí glue_collapse() a vektoru (pojmenovaného i nepojmenovaného, obojí funguje) jako jediného vstupu dokážeš z malých kousků sestavit i velmi dlouhé a složité vzory, které jsou přitom mnohem snáze čitelné.
Proměnná users byla exportována z naší databáze a je opět dostupná v globálním prostoru. V tomto cvičení nás ale zajímají nejen uživatelská jména, ale také číslice a e-mailová adresa, které za nimi následují.
Toto cvičení je součástí kurzu
Intermediate Regular Expressions in R
Pokyny k cvičení
- Podívej se znovu na obsah proměnné
users. - Na místě, kde očekáváme uživatelské jméno, napiš vzor, který zachytí jedno nebo více písmen abecedy. K vytvoření tohoto vlastního vzoru použij hranaté závorky
[]. - Na místě, kde očekáváme počet přihlášení daného uživatele, napiš vzor zachycující jednu nebo více číslic. Použij k tomu třídu znaků pro číslice.
- Protože e-mail stojí na každém řádku jako poslední, napiš jednoduchý vzor, který zachytí jeden nebo více libovolných znaků.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)