"abc123.-def45".gsub(/.(.)?/,'@')
要得到
"a@c@2@.@d@f@5"
"abc123.-def45".gsub(/(.)./,'\1@')
重要的是不要使第二个字符成为可选字符.否则,在奇数长度的字符串中,最后一个字符将导致匹配,并且将附加@.没有?,最后一个角色将会失败并保持不变.
Working demo.