正規表現とは
正規表現(Regular expression, regexpとも)は文字列のパターンを表現する方法です。Rubyでは正規表現はRegexpクラスに実装されています。Regexp.new("AllAbout")
とすると正規表現オブジェクトが生成されますが、実際のコードでは/
で挟むリテラルを使用することがほとんどです。
また、判定する文字列にスラッシュが含まれている場合はエスケープする必要がありますが、含まれるスラッシュの数が多くなってくると、代わりに%r(...)
という書式を使った方が可読性が上がります。ちなみに()
の他{}
や||
も使えます。
ここで正規表現の細かな記法を説明することはしませんが、よくある使われ方をいくつか並べておきます。
また、N回の繰り返しを指定するには、パターンの後ろに{N}
と付けます。 たとえば111-1234
のような郵便番号を抜き出す正規表現は以下のように書けます。
N回以上M回以下の繰り返しは{N,M}
とカンマで区切ります。
次のページでは、正規表現を使って文字列をマッチングしたときの挙動を解説します。