0
我正在嘗試使用String#gsub在%或?之前添加一個斜槓,然後我將在LIKE查詢中使用它。我收到一些奇怪的行爲,希望有人能解釋一下:我怎樣才能逃避紅寶石數據庫通配符?
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圍繞這個工作的時刻,但我非常想知道,如果任何人都可以解釋這是怎麼回事!