文字クラスと繰り返し

Rで学ぶ中級正規表現

Angelo Zehr

Data Journalist

利用可能な文字クラス

文字クラス
\\d または [:digit:] 0, 1, 2, 3,…
\\w または [:word:] a, b, c…, 1, 2, 3…, _
[A-Za-z] または [:alpha:] A, B, C,…, a, b, c,…
[aeiou] a, e, i, o, u のいずれか
\\s または [:space:] " "、タブ、改行
Rで学ぶ中級正規表現

具体例

str_match_all() 結果
"Hi John_35", "\\d" "3", "5"
"Hi John_35", "\\w" "H", "i", "J", "o", "h", "n", "_", "3", "5"
"Hi John_35", "[A-Za-z]" "H", "i", "J", "o", "h", "n"
"Hi John_35", "[aeiou]" "i", "o"
"Hi John_35", "\\s" " "
Rで学ぶ中級正規表現

繰り返し

構文 意味
\\w{2} ちょうど2回
\\w{2,3} 最小2回、最大3回
\\w{2,} 最小2回、上限なし
\\w+ 1回以上
\\w* 0回以上
Rで学ぶ中級正規表現

文字クラスの反転

否定
\\d 数字に一致 \\D 数字以外すべてに一致
\\w 英数・下線に一致 \\W それ以外すべてに一致
\\s 空白に一致 \\S 空白以外すべてに一致
[a-zA-Z] アルファベットに一致 [^a-zA-Z] アルファベット以外すべてに一致
Rで学ぶ中級正規表現

クラスを使ったカスタムパターン

str_match_all("Toy Story 3", "[\\d\\s]")

結果:

     [,1]
[1,] " " 
[2,] " " 
[3,] "3"
Rで学ぶ中級正規表現

演習に進みましょう

Rで学ぶ中級正規表現

Preparing Video For Download...