- Home ›
- Ruby正規表現の使い方 ›
- 正規表現のオプション修飾子 ›
- HERE
大文字と小文字を区別せずにマッチを行う(/i修飾子)
広告
「/i修飾子」を指定すると大文字と小文字を区別せずにマッチを行います。書式は次の通りです。
/パターン/i
具体的な例で考えてみます。
/Test/
上記の正規表現にマッチする文字列とマッチしない文字列は次の通りです。
○ Test × test × TEST × tesT
これに対して「/i修飾子」を付けてみます。
/Test/i
上記の正規表現にマッチする文字列とマッチしない文字列は次の通りです。
○ Test ○ test ○ TEST ○ tesT
このように「/i修飾子」を付けることで大文字小文字が区別されなくなります。
サンプルプログラム
では簡単なプログラムで確認して見ます。
#! ruby -Ku require "kconv" def check(str) if /color is (red|green)/i =~ str then print(Kconv.tosjis("○") + str + "(" + $& + ")¥n") else print(Kconv.tosjis("×") + str + "¥n") end end print(Kconv.tosjis("/color is (red|green)/i にマッチするかどうか¥n¥n")) check("Border color is Red") check("Frame Color is GREEN") check("Background Color Is green")
上記のプログラムを「test2-1.rb」として保存します。文字コードはUTF-8です。そして下記のように実行して下さい。
( Written by Tatsuo Ikura )