=~ 正規表現のマッチする

self =~ regexp

正規表現 regexp とのマッチを行います。

戻り値

マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。

組み込み変数 $~, $1, ... にマッチに関する情報が設定されます。

self =~ other

としたとき、other が正規表現でも文字列でもない場合は

other =~ self

を行います。

ruby 1.8以前では、other が文字列であった場合の挙動が違い、otherを正規表現にコンパイルして self に対するマッチを行います。
1.8 以降は、 other に文字列を指定したときには例外 TypeError が発生します。

type mismatch: String given (TypeError)
p /^abc/ =~ "abcdef"
p "abcdef" =~ /^abc/
p "aabcdef" =~ /abc/
p "abcdef" =~ /abcaa/

出力
0
0
1
nil
p "abcdef" =~ /abc/
p $~
p $1

出力
0
#<MatchData:0x2c88fc8>
nil
p "abcdef" =~ /(abc)/
p $~
p $1

出力
0
#<MatchData:0x2c88e38>
"abc"

関連記事

スポンサーリンク

groupmod グループ情報を変更する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る