В IRB, если я передаю строку как "/domain/path" к Regexp.escape, это просто возвращает его то же. Я думал, что наклонных черт вправо, как предполагается, оставляют с обратной косой чертой? Я пропускаю что-то здесь?
Кроме того, единственная причина, по которой вам нужно экранировать символы /
, заключается в том, что это ваш разделитель для регулярного выражения, если вы укажете другой тип разделителей ( или создайте экземпляр класса Regexp) у вас не будет этой проблемы:
/^hello\/world$/ # escaping '/' just to say: "this is not the end"
%r"^hello/world$" # no need for escaping '/'
Regexp.new('^hello/world$') # no need for escaping '/'