irb(main):051:0> "ts_id < what".gsub(/(=|<|>)\s?(\w+|\?)/,"#{$1} ?")
=> "ts_id > ?"
irb(main):052:0> "ts_id < what".gsub(/(=|<|>)\s?(\w+|\?)/,"#{$1} ?")
=> "ts_id < ?"
Run Code Online (Sandbox Code Playgroud)
任何人都可以开导我吗?
问题是变量在运行之前$1插入到参数字符串中,这意味着先前的值是符号被替换的值.您可以替换第二个参数以获得预期的效果. gsub$1'\1 ?'