讓進階樣式更容易閱讀
很好!你已經熟悉如何用管線符號 | 作為分隔,將多個名稱合併成可比對的樣式。不過,合併也能用來把樣式拆成小而好消化的片段再串接起來。只用一個向量(可具名也可不具名,兩者皆可)作為 glue_collapse() 的輸入,就能把許多較好理解的小片段,組合成又長又複雜、但更容易解讀的樣式。
變數 users 是從資料庫匯出的,現在再次可在全域範圍使用。在這個練習中,我們不只對使用者名稱有興趣,還想擷取其後的數字以及電子郵件地址。
本練習屬於課程
R 中級 Regular Expressions
練習說明
- 再看看
users的內容。 - 在預期放使用者名稱的地方,寫出可比對「一個或多個英文字母」的樣式。請用方括號
[]來建立這個自訂樣式。 - 在預期放該使用者登入次數的地方,寫出可比對「一個或多個數字」的樣式。請使用數字的字元類別來達成。
- 由於每一行最後都是電子郵件,請寫出可比對「一個或多個任意字元」的簡單樣式。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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)