=~ 正規表現のマッチする
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"
関連記事
- concat 文字列を結合する
- <= 文字列を比較する
- < 文字列を比較する
- >= 文字列を比較する
- > 文字列を比較する
- == 文字列を比較する
- % 文字列のフォーマットをする
- * 文字列を繰り返し結合する
- + 文字列を連結する
- String.new() Stringオブジェクトを複製します
スポンサーリンク