ようこそ

Rで学ぶ中級正規表現

Angelo Zehr

Data Journalist

前回の続きはこちら

Rで学ぶ中級正規表現

Rebus から独自の表現へ

"cat""c" で始まりますか?

Rebus の書き方:

str_detect("cat", pattern = START %R% "c")

正規表現:

str_detect("cat", pattern = "^c")
Rで学ぶ中級正規表現

前提: stringr

str_detect(string, pattern)
str_match(string, pattern)
Rで学ぶ中級正規表現

正規表現でできること

ハイライト付きのテキストの塊

Rで学ぶ中級正規表現

正規表現でできること

ハイライト付きのテキストの塊

Rで学ぶ中級正規表現

最初のデータセット

movie_titles <- c(
  "Karate Kid",
  "The Twilight Saga: Eclispe",
  "Knight & Day",
  "Shrek Forever After (3D)",
  "Marmaduke.",
  "Predators",
  "StreetDance (3D)",
  "Robin Hood",
  "Micmacs A Tire-Larigot",
  "Sex And the City 2",
...
movie_titles[
  str_detect(
    movie_titles,
    pattern = "^K"
  )
]
"Karate Kid",
"Knight & Day",
...
Rで学ぶ中級正規表現

正規表現の特殊文字

特殊文字 意味
^ 先頭: 行または文字列の始まり
$ 末尾: 行または文字列の終わり
. ドット: 文字・数字・空白など何でも一致
\\. バックスラッシュ2つ: 実際のドットを検索するためにエスケープ
Rで学ぶ中級正規表現

コード 結果
str_match("Book", "^.") "B" に一致
str_match("Book", ".$") "k" に一致
str_match("Book", "\\.") 一致なし
str_match("Book.", "\\.") "." に一致
Rで学ぶ中級正規表現

練習しましょう!

Rで学ぶ中級正規表現

Preparing Video For Download...