どうも、Rubyをやっているものです。突然ですが正規表現っていまいちよくわからなくありませんか?そこで今回は簡単に正規表現のことについてまとめてみたいと思います。
ただここではざっくりとした概要だけで実際の使い方については他にいい記事があるのでそれを参照ください。
Rubyの正規表現の書き方と使い方
正規表現とはざっくりいうと「文字列とマッチングを行うパターン記法」のことです。ある特定の文字列を抽出したいときに使うものということですね。
正規表現を使いこなせるようになるポイントは2つあります。1つは「正規表現のパターンの書き方を知ること」。もう1つは「実際に使ってみること(問題を解くこと)」です。
ちなみに正規表現として扱いたいパターンを表した文字列を「/ /」と囲んであげます。
正規表現の実際の使い方については以下の手順で勉強していくのが一番効率がいいと思います。
- 初心者歓迎正規表現のQiita記事を1~3まで読破する
- 通称チェリー本と言われているプロを目指す人のためのRubyの正規表現の章を読破する
- 正規表現の問題を解く(正規表現問題と調べるか、Ruby examinationなどを使う)
正規表現のオプション
正規表現にはオプションというのがあって、以下のようなものがあります。
i
アルファベットの大文字と小文字の違いを無視する
x
正規表現内の空白と#の後ろの文字を無視する。要するにこれを使えば正規表現内にコメントを残せる。
m
「.」が改行文字にもマッチするようになる。基本はマッチしない。
よく使う正規表現のメソッド
正規表現はよく使われるメソッドというのがあります。よくこれらのメソッドと一緒に使われているので、覚えておくと便利です。
sub
文字列中のある部分を別の文字列に置き換えるためのメソッド。subは最初にマッチしたところのみを置き換える。
gsub
subと一緒の動作。ただマッチする全ての部分を置き換える。
scan
マッチした部分を取り出して、何らかの処理をするときに使うメソッド。