組合正規表示式

R 中級 Regular Expressions

Angelo Zehr

Data Journalist

用管線符合併

pattern = "Nemo|Harmony|Dory"

也可以這樣建立:

names <- c("Nemo", "Harmony", "Dory")
pattern = glue_collapse(names, sep = "|")
R 中級 Regular Expressions

快速複習

字元類別 名稱 範例
\\d 數字 0, 1, 2, 3,…
\\w 單字字元 a, b, c…, 1, 2, 3…, _
\\s 空白 " "、tab 與換行
[A-Za-z] 英文字母 A, B, C,…, a, b, c,…
R 中級 Regular Expressions

快速複習

重複符號 次數
+ 一次以上
* 零次以上
R 中級 Regular Expressions

拆解複雜樣式

api_response <- "payload: 'Adam, 5, 3', headers: 'Auth...'"

str_match(api_resopnse, pattern = "[A-Za-z]+, \\d+, \\d+")

會比對到:Adam, 5, 3

pattern = glue_collapse(c(
  "name" = "[A-Za-z]+",
  ", ",
  "attempts" = "\\d+",
  ", ",
  "logins" = "\\d+"
))
R 中級 Regular Expressions

一起來練習吧!

R 中級 Regular Expressions

Preparing Video For Download...