/m make dot match newlines 让 . 匹配新行 这个怎么理解? /o perform #{...} substitutions only once。/#{str}#{str}/ 只会解析第一个 str 对吗? 谁能帮我举个例子,总是无法理解。
先学 regex..... 比如这个 30 分钟
1.使用/m 后,可以使用。匹配换行符
str = "ABC\nDEF\nGHI" p /DEF.GHI/ =~ str #=> nil p /DEF.GHI/m =~ str #=> 4
2.只使用一次内嵌表达式,但我发现两个都替换了!!! http://www.ruby-doc.org/core-2.1.2/Regexp.html 出 bug 啦?
str1 = "a1" str2 = "a2" str = "ABC#{str1}DEF#{str2}GHI" p /#{str1}DEF/ =~ str #=> 3 p /#{str1}DEF#{str2}GHI/o =~ str #=> 3
#2 楼 @flowerwrong 咦?rubular 不支持 /m 呀?
#3 楼 @shangrenzhidao 我试了下,下面说支持,但是结果不对 http://www.rubular.com