すべてのキャプチャグループにマッチさせる
この演習では、映画名とその順位を格納したテキストファイル top_10 を使います。この複数行テキストでは、改行の開始に \\n が使われています。str_split() 関数を使って、このテキストファイルを複数行に分割します。
新しく作成される1行の行列 top_10_lines には、同じパターンの10行が入ります。各行は、映画の順位、続けてドットと空白、そして映画タイトルという並びです。str_match() 関数と2つのキャプチャグループ () を使うことで、プレーンテキストからこれら2つの情報を抽出し、表形式に変換できます。
この演習はコースの一部です
Rで学ぶ中級正規表現
演習の手順
str_split()関数を使ってテキストを行に分割し、simplifyを有効にして文字列行列を出力します。- 行の構造を確認しましょう。映画の順位とタイトルが含まれています。
str_match()関数でキャプチャグループを使い、映画の順位とタイトルを抽出します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Split the input by line break and enable simplify
top_10_lines <- str_split(
top_10,
pattern = "___",
simplify = ___
)
# Inspect the first three lines and analyze their form
___[1:3]
# Add to the pattern two capturing groups that match rank and title
str_match(
top_10_lines,
pattern = "___\\. ___"
)