From: "cedric.brancourt (Cedric Brancourt)" Date: 2013-06-28T05:36:29+09:00 Subject: [ruby-core:55675] [ruby-trunk - Bug #8565] Compiled Regexp comparation bug 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/