以下のようなRubyコードを書きました
#! /usr/bin/ruby
s = "[[abc]]"
if(s =~ /\[(.+)*?\]/)
puts $1
end
if(s =~ /\[(.+?)\]/)
puts $1
end
その出力は次のとおりです。
[abc
[abc
次に、変数 s を変更します
s = "[[abc]]]"
残りの部分は同じままですが、結果は次のようになります
[abc]
[abc
なぜこれが起こるのですか?誰かがこれについて私に説明してもらえますか?