始める無料で始める

高度なパターンを読みやすくする

すでに、区切りとしてパイプ | を使って名前のリストにマッチするパターンを作れるようになりましたね。ただし、コラプスはパターンの小さく消化しやすい部分を連結するのにも役立ちます。glue_collapse() とベクター(名前付きでも名前なしでも可)を唯一の入力として使えば、小さな部品から解釈しやすい、とても長くて複雑なパターンを作成できます。

変数 users はデータベースからエクスポートされ、今回もグローバルスコープで利用できます。ですがこの演習では、ユーザー名だけでなく、その後に続く数字とメールアドレスにも関心があります。

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

Rで学ぶ中級正規表現

コースを見る

演習の手順

  • もう一度、users の中身を確認してください。
  • ユーザー名が来る箇所には、1文字以上のアルファベットにマッチするパターンを書きます。角かっこ [] を使ってこのカスタムパターンを作ってください。
  • そのユーザーのログイン回数が来る箇所には、1桁以上の数字にマッチするパターンを書きます。数字の文字クラスを使ってください。
  • 各行の最後にはメールアドレスが来るので、任意の文字が1文字以上にマッチする単純なパターンを書いてください。

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

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

# Familiarize yourself with users by printing its contents
print(___)

advanced_pattern <- glue_collapse(c(
  # Match one or more alphabetical letters
  "username" = "^___",
  ": ",
  # Match one or more digit
  "logins" = "___",
  ", ",
  # Match one or more arbitrary characters
  "email" = "___$"
))

str_view(users, advanced_pattern)
コードを編集して実行