Rubyで正規表現を使ったメモ

ruby2.0.0

正規表現を使う時はいつもググっていたけど最近ようやく手に馴染んできた。

パーセント(%)記法

%記法を使うことで区切り文字を任意のものを使う事ができる。
デフォの/だと、式中のスラッシュをエスケープする必要があるので、別の区切り文字を使った方が見やすい。

%r{iko-yo}
%r|iko-yo|
%r_iko-yo_

条件分岐

if "http://iko-yo.net" =~ /iko-yo/
  p "hello iko-yo"
end

マッチした複数の文字列を取得

()で囲った部分にマッチすると$1〜で参照できる。
マッチした場合は、整数を返すので条件分岐と絡めればマッチした文字に対して文字列操作をすることができる。

if "iko-yo.net : 950万人" =~ /(iko-yo)[^\d]*(\d*)/
  p "#{$1}、年間ユーザ数#{$2}万人達成"
end