始める無料で始める

何を探しているか分からないとき

これまでに使った str_detect() は、パターンにマッチすれば TRUE、それ以外は FALSE を返します。ですが、正規表現は大量のテキストから検索語を抽出するのにも非常に優れています。そのためには str_match() 関数が使えます。

ここで新しく登場する特殊文字はピリオド "." です。ピリオドは任意の1文字にマッチし、いわゆるワイルドカードのように働きます。たとえば "..." を検索すれば、3文字(英字・数字・空白など何でも)に一致します。

これはとても便利ですが、実際の句点 "." 自体を検索したい場合は別です。そのときは、バックスラッシュを2つ使ってピリオドをエスケープします: "\\."

この演習はコースの一部です

Rで学ぶ中級正規表現

コースを見る

演習の手順

  • Saw 4 だけでなく、他の続編にもマッチさせてください。
  • "K" で始まる映画タイトルの先頭4文字にマッチさせてください。
  • 実際の句点 "." で終わる映画を検出してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Here's an example pattern that will find the movie Saw 4
str_match(movie_titles, pattern = "Saw 4")

# Match all sequels of the movie "Saw"
str_match(movie_titles, pattern = "___")

# Match the letter K and three arbitrary characters
str_match(movie_titles, pattern = "^K___")

# Detect whether the movie titles end with a full stop
str_detect(movie_titles, pattern = "___$")
コードを編集して実行