Я пытаюсь использовать String # gsub для добавления косой черты перед% или?, Которую я буду использовать в запросе LIKE. Я получаю некоторые странное поведение, которое, надеюсь, кто-то может объяснить:Как я могу избежать групповых символов базы данных в ruby?
irb(main):018:0> "%?".gsub(/([%\?])/, '\1')
=> "%?"
irb(main):019:0> "%?".gsub(/([%\?])/, '\\1')
=> "%?"
irb(main):020:0> "%?".gsub(/([%\?])/, '\\\1')
=> "\\1\\1"
irb(main):021:0> "%?".gsub(/([%\?])/, '\\\\1')
=> "\\1\\1"
Я работал вокруг этого на данный момент, просто делая два отдельных gsubs с использованием строк, но я бы очень хотел бы знать, если кто-нибудь может объяснить, что происходит!