#
# これで得た教訓。
#   正規表現の直感的わかりやさはnの2乗に反比例する。nは特殊文字の数。
# 「後ろ見るだけ」が今はできないですから、A,B同時交換のような
# 3段処理のほうがわかりやすいかも、解法として。
#

p a = %q(_a__\_\\\\__\__ __END__  sdf_as\ds  )
p a.gsub( /\\_/,'龜')
p a.gsub( /\\_/,'龜').tr('_',' ')
p a.gsub( /\\_/,'龜').tr('_',' ').gsub(/龜/,"\\_")

# 気持ちとしては、tr! や gsub! にしたいけれど、マッチ0個で nil が
#  返るのでは。