hack のためのネタ帳, etc,,,

正規表現とマッチ結果

stringr パッケージの str_match(str, pattern) や str_match_all(str, pattern) が便利なようだ。
str_match() は最初に適合した箇所、str_match_all() はすべての適合した箇所が得られる。
行方向に適合した箇所、列方向に正規表現内のグループが得られる。
例:
s <- "alpha <alpha@example.com>\nbeta <beta@example.com>\ngamma <gamma@example.com>"
str_match_all(s, "([^\n<>]+?) *(<[^ ]+>)")
[[1]]
     [,1]                        [,2]    [,3]                 
[1,] "alpha <alpha@example.com>" "alpha" "<alpha@example.com>"
[2,] "beta <beta@example.com>"   "beta"  "<beta@example.com>" 
[3,] "gamma <gamma@example.com>" "gamma" "<gamma@example.com>"

参考になるページ等

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

編集にはIDが必要です