From: gabriel.birke@... Date: 2006-09-16T07:25:58+09:00 Subject: No regex backreference with four backslashes Consider the following test case: require 'test/unit' class RegexTest < Test::Unit::TestCase def test_escaping numbers = "12345" assert_equal "12345", numbers.gsub(/(2|4)/, '\1') assert_equal "12345", numbers.gsub(/(2|4)/, "\\1") assert_equal "1\\ 23\\ 45", numbers.gsub(/(2|4)/, '\\ \1') assert_equal "1\\ 23\\ 45", numbers.gsub(/(2|4)/, "\\ \\1") assert_equal "1\\23\\45", numbers.gsub(/(2|4)/, '\\\1') assert_equal "1\\23\\45", numbers.gsub(/(2|4)/, "\\\\1") end end require 'test/unit/ui/console/testrunner' Test::Unit::UI::Console::TestRunner.run(RegexTest) The last two assertions fail (With the message <"1\\23\\45"> expected but was <"1\\13\\15">.) - but why? Is this a bug in the regex implementation or is there something wrong with my regular expression or substitution string?