Ruby不识别正则表达式的g标志

它是默认隐含在str.scan中吗? 默认情况下它是否在str [regex]中关闭?

是的,应用正则表达式的频率取决于使用的方法,而不是正则表达式的标志。

scan将返回一个包含(或迭代)正则表达式的所有匹配项的数组。 match和String#[]将返回第一个匹配。 =~将返回第一个匹配的索引。 gsub将替换所有出现的正则表达式,sub将替换第一次出现。

 smotchkkiss:~$ irb >> 'Foobar does not like food because he is a fool'.gsub(/foo/i, 'zim') => "zimbar does not like zimd because he is a ziml"