rubyの正規表現における複数パターン
こんにちは!最近rubyの正規表現における複数パターンについて調べる機会があったので備忘録として残しておきます。
string = 'ruby'
string =~ (/python|ruby/)
| バーティカルバー(読み方初めて知りました笑)でマッチさせたい文字列を区切ります。
もしマッチすればマッチした文字列の位置の数字を返してくれます。上の例で言えば0が返ってきます。
string = 'fruby'
string =~ (/python|ruby/)
少しわかりずらいのでもう1つ例を出します。上の例で言えば1が返ってきます。
string = 'fruby' この文字列の中でrubyは1番目から始まるので1が返り値として返ってきます。
a = 'python
if a =~ (/ruby|python/)
puts 'good'
end
=~は正規表現に使える演算子です。上のコードはマッチすれば'good'を出力するというプログラムです。
逆にマッチしなかった時に何かをしたい場合は
a = 'java'
if a !~ (/ruby|python/)
puts 'bad'
end
!~と書いてあげることでマッチしなかった時の処理を記述できます。上のプログラムはbadを出力します。
rubyの正規表現における複数パターンの書き方と演算子について説明しました。よかったら参考にしてください。
参考