R 中级正则表达式
Angelo Zehr
Data Journalist
"cat" 是否以 "c" 开头?
Rebus 写法:
str_detect("cat", pattern = START %R% "c")
正则表达式:
str_detect("cat", pattern = "^c")
str_detect(string, pattern)
str_match(string, pattern)


movie_titles <- c(
"Karate Kid",
"The Twilight Saga: Eclispe",
"Knight & Day",
"Shrek Forever After (3D)",
"Marmaduke.",
"Predators",
"StreetDance (3D)",
"Robin Hood",
"Micmacs A Tire-Larigot",
"Sex And the City 2",
...
movie_titles[
str_detect(
movie_titles,
pattern = "^K"
)
]
"Karate Kid",
"Knight & Day",
...
| 特殊字符 | 含义 |
|---|---|
^ |
角号:标记行或字符串的开头 |
$ |
美元符:标记行或字符串的结尾 |
. |
句点:匹配任意字符(字母、数字、空白) |
\\. |
两个反斜杠:转义句点以匹配实际的点号 |
| 代码 | 结果 |
|---|---|
str_match("Book", "^.") |
匹配到 "B" |
str_match("Book", ".$") |
匹配到 "k" |
str_match("Book", "\\.") |
无匹配 |
str_match("Book.", "\\.") |
匹配到 "." |
R 中级正则表达式