Regexp.escape не избежать косых черт? - PullRequest
15 голосов
/ 05 февраля 2010

В IRB, если я передаю строку типа "/ domain / path" в Regexp.escape, он просто возвращает ее тоже самое. Я думал, что косые черты должны быть сброшены с обратной косой чертой? Я что-то здесь упускаю?

Ответы [ 2 ]

26 голосов
/ 05 февраля 2010

Кроме того, единственная причина, по которой вам нужно экранировать символы /, заключается в том, что это ваш разделитель для регулярного выражения, если вы укажете другой тип разделителей (или создадите экземпляр класса 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 '/'
0 голосов
/ 24 октября 2017

Regexp.escape

Regexp.new(Regexp.escape('/domain/path'))
=> /\/domain\/path/

OR

Regexp.new(Regexp.escape('domain/path'))
=> /domain\/path/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...