在IRB中如果我将类似“/ domain / path”的字符串传递给Regexp.escape,它只会返回相同的内容。我认为正斜杠应该用反斜杠转义?我在这里错过了什么吗?
答案 0 :(得分:25)
另外,你需要转义/
个字符的唯一原因是因为它是regexp的分隔符,如果你指定了其他类型的分隔符(或者是你赢得了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 '/'
答案 1 :(得分:0)
Regexp.new(Regexp.escape('/domain/path'))
=> /\/domain\/path/
或强>
Regexp.new(Regexp.escape('domain/path'))
=> /domain\/path/