Issue #8565 has been updated by cedric.brancourt (Cedric Brancourt).


Hopefully this is not a bug (or I think it is not).

When you create new regexp with :
%r"\/" and Regexp.new("\/") your quote are the delimiters

when you create regexp with slashes /\// the slashes (/) are your delimiters. Your regexp should end at the second / but fortunately you can escape this one with a backslash.
So your backslash is there used to escape the second one. This mean that your regexp /\// is equal to %r"/"

[6] pry(main)> /\// == %r"/"
=> true



----------------------------------------
Bug #8565: Compiled Regexp comparation bug
https://bugs.ruby-lang.org/issues/8565#change-40180

Author: pyromaniac (Arkadiy Zabazhanov)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.4.0]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


2.0.0p195 :001 > Regexp.new('\/') == /\//
 => false

There is no such problem in latest 1.9.3, expression return true


-- 
http://bugs.ruby-lang.org/