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(テックキャンプ)

tech-camp.in