Ruby 正規表現 学習メモ
正規表現とは
文字列に特定の文字が含まれているかを確認することや、特定の文字を取り除くなどの操作を行うための技術
subメソッド
指定した文字列の部分を別の文字列に置き換えるためのメソッド。
irb > hoge = "おにぎりは美味しい" irb > hoge.sub(/おにぎり/,"ラーメン") => "ラーメンは美味しい"
matchメソッド
引数に指定した文字列がレシーバの文字列に含まれているか否かをチェックする。含まれている場合は、指定した文字列がMatchDataオブジェクトの返り値で得られる。含まれていない場合はnilが返り値となる。
irb > hoge = "Mineral water" irb > hoge.match(/Mineral/) => #<MatchData "Mineral"> irb > hoge.match(/juice/) => nil
MatchDataオブジェクト
マッチした文字列などはMatchDataオブジェクトで返される。MatchDataオブジェクトから文字列などを取り出す際は、配列からデータを取り出す。
irb > hoge = "Mineral water" irb > md = hoge.match(/water/) irb > md[0] => "water"
gsubメソッド
gはグローバルマッチのg。グローバルマッチとは文字列内で指定した文字が複数含まれている場合、全てを置換する。
[a-z]
角カッコで囲まれた文字のいずれか1つにマッチ
\d
数字にマッチ。[a-z\d]は「英数字のいずれか1つにマッチ」という意味。
{n,m}
直前の文字が少なくともn回、多くてもm回出現するものにマッチ。
i
大文字・小文字区別なく検索する。
.
どの1文字にもマッチ
+
直前の文字の1回以上の繰り返しにマッチ
学習教材
TECH::MASTER(テックキャンプ)