Я пытаюсь создать простую строковую подпрограмму в Ruby.
Второй аргумент функции sub () - это длинный фрагмент уменьшенного кода JavaScript, в котором содержатся регулярные выражения. Обратные ссылки в регулярном выражении в этой строке, похоже, влияют на результат sub, потому что замененная строка (то есть первый аргумент) появляется в выходной строке.
Пример:
input = "string <!--tooreplace--> is here"
output = input.sub("<!--tooreplace-->", "\&")
Я хочу, чтобы результат был:
"string \& is here"
Не:
"string & is here"
или при экранировании регулярного выражения
"string <!--tooreplace--> is here"
В принципе, мне нужен какой-то способ выполнить подпрограмму строки, которая вообще не имеет последствий для регулярного выражения - просто замените строку.