出沢@フジフイルム です

ruby前提で考えていたので、こんな感じで行けるのではと思って
たのですが。まだ良く吟味はしていませんが、

    /(^|\s)(\w+?\e\$B.*?\e\(B)(\s|$)/ して、
    ascii = $` ; encode = $2, right =$' して
    right を再帰でやっつける