как удалить \\ в регулярном выражении, которое было экранировано Rails? - PullRequest
2 голосов
/ 27 августа 2010

Я пытаюсь сохранить регулярные выражения в базе данных, но они спасаются рельсами.

Например, \w*\s\/\s становится \\w*\\s\\/\\s в базе данных и при получении.

Я вставляю попытку использовать их с mystring.sub (/ # {regex_variable} /, ''), но экранированное регулярное выражение не соответствует желаемому.

Как лучше всего разрешить это, чтобы регулярное выражениеработает как ввод?

Спасибо!

Ответы [ 3 ]

1 голос
/ 27 августа 2010

Я думаю, что Crayon означает в Ruby:

mystring.gsub("\\\\", "\\")

Я думаю, что я избежал их правильно.

Извините, если я неправильно понял вопрос.

РЕДАКТИРОВАТЬ : Для этого вопроса обратитесь к этот вопрос .

0 голосов
/ 27 августа 2010

Спасибо за предложения. Как выяснилось, консоль Rails избегает обратной косой черты на выходе (почему?). Это также объясняет, почему, когда я попробовал gsub, который предложил Blaenk, он, похоже, не работал (я ранее пробовал этот myslef безрезультатно).

Так что мой вопрос сейчас заключается в том, почему регулярное выражение работает, когда я помещаю его непосредственно в кавычки, но не в форме mystring.sub (/ # {regex_variable} /, ''), но я думаю, что мне нужно открыть новое предложение что.

0 голосов
/ 27 августа 2010

Я не знаю синтаксис ruby, но вы могли бы сделать глобальную замену \\ на \

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...