我写了一段 ruby 代码,如下所示
#! /usr/bin/ruby
s = "[[abc]]"
if(s =~ /\[(.+)*?\]/)
puts $1
end
if(s =~ /\[(.+?)\]/)
puts $1
end
它的输出是:
[abc
[abc
然后我改变变量 s
s = "[[abc]]]"
其余部分保持不变,但现在结果是
[abc]
[abc
为什么会发生这种情况?有人可以向我解释一下吗?