我正在尝试这样做
"love{ }&\abbc+".gsub(/([-\|!\(\)\{\}\[\]\^"~\*\?:\\&\+])/, '\\\1')
获得此输出
"love\{ \}&\\abbc\+"
但我正在
"love\\1 \\1\\1\abbc\\1"
in irb。 我做错了什么(ruby 1.8.7)?
答案 0 :(得分:1)
"love{ }&\abbc+".gsub(/([-\|!\(\)\{\}\[\]\^"~\*\?:\\&\+])/, "\\\\\\1")
请参阅http://www.ruby-forum.com/topic/143645,了解为何需要进行所有额外转义。
答案 1 :(得分:1)
尝试阻止表格吗?
"love{ }&\abbc+".gsub(/([-\|!\(\)\{\}\[\]\^"~\*\?:\\&\+])/) { |m| "\\#{m}" }