数字、单词与空格
到目前为止,您可能总是在精确搜索某个数字或单词。现在,您手里有了更灵活的工具,可以搜索:
\\d数字(0 到 9)\\w单词字符(字母、数字或下划线)\\s空白字符(还包括制表符和换行)
此外,您可以使用方括号 [A-Za-z],在其中列出一组可能的取值。
您已经找到了所有 "Saw" 的续集。现在能否创建一个模式,匹配列表 movie_titles 中的所有续集?它们通常在末尾带有数字,对吗?
另外,由于 "Grey"(英式)和 "Gray"(美式)两种拼写,该列表包含重复项。请创建一个同时匹配这两种颜色拼写的模式。
最后,列出所有包含特殊的、非单词字符的电影标题。
本练习是课程的一部分
R 中级正则表达式
练习说明
- 匹配所有以空格加一个数字结尾的电影标题(必须在末尾)。
- 使用自定义模式
[…]同时匹配"Grey"和"Gray"。 - 编写一个模式,匹配除单词字符
\\w和空白字符\\s之外的所有内容。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# List all movies that end with a space and a digit
movie_titles[str_detect(movie_titles,
pattern = "___"
)]
# List all movies that contain "Grey" or "Gray"
movie_titles[str_detect(movie_titles,
pattern = "Gr___y"
)]
# List all movies with strange characters (no word or space)
movie_titles[str_detect(movie_titles,
pattern = "[___]"
)]