Ruby 关于 ruby 正则表达式 的 options

shangrenzhidao · 2014年09月29日 · 最后由 shangrenzhidao 回复于 2014年09月30日 · 1661 次阅读

/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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号