このナノピコ風問題では、ひっくり返すのは「禁じ手」ですか?
後読み、が無いなら 先読み、で代用します。

a='_a___\____\\_\\_____';
p a.reverse.gsub( /_(?!\\)/,' ').reverse;

頭から一本式が条件ならダメですが。