数字、単語、空白
これまでは、特定の数字や単語をそのまま検索していたかもしれません。これからは、もっと柔軟なツールで次のように検索できます。
\\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 = "[___]"
)]