Я пытаюсь создать регулярное выражение из строкового объекта, который хранится в переменной.
Проблема, с которой я столкнулся, заключается в том, что экранированные последовательности (в строке), такие как "\ d", не соответствуют результирующему регулярному выражению.
Regexp.new("\d") => /d/
Если я использую одинарные кавычки, жестко, это работает безупречно.
Regexp.new('\d') => /\d/
Но поскольку моя строка хранится в переменной, я всегда получаю строку в двойных кавычках.
Есть ли способ превратить строку с двойными кавычками в строку с одинарными кавычками, чтобы я мог использовать ее в конструкторе Regexp?
(Я бы хотел использовать функцию строковой интерполяции двойных кавычек)
ex.:
email_pattern = "/[a-z]*\.com"
whole_pattern = "to: #{email_pattern}"
Regexp.new(whole_pattern)
Для лучшей читаемости я бы не хотел экранировать escape-символы.
"\\d"