大文字と小文字を区別せずにマッチを行う(/i修飾子)

パターンで「/i修飾子」を指定すると、大文字と小文字を区別せずにマッチが行われます。ここでは Ruby の正規表現で利用可能な「/i修飾子」の使い方について解説します。

(Last modified: )

大文字と小文字を区別せずにマッチを行う

/i 修飾子を指定すると大文字と小文字を区別せずにマッチを行います。書式は次の通りです。

/パターン/i

具体的な例で考えてみます。

/Test/

上記の正規表現にマッチする文字列とマッチしない文字列は次の通りです。

○ Test
× test
× TEST
× tesT

これに対して /i 修飾子を付けてみます。

/Test/i

上記の正規表現にマッチする文字列とマッチしない文字列は次の通りです。

○ Test
○ test
○ TEST
○ tesT

このように /i 修飾子を付けることで大文字小文字が区別されなくなります。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

def check(str)
  if /color is (red|green)/i =~ str then
    puts("○" + str + "(" + $& + ")")
  else
    puts("×" + str)
  end
end

puts("/color is (red|green)/i にマッチするかどうか")

check("Border color is Red")
check("Frame Color is GREEN")
check("Background Color Is green")

下記のように実行して下さい。

大文字と小文字を区別せずにマッチを行う(/i修飾子)

-- --

Ruby の正規表現で利用可能な「/i修飾子」の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。