括弧[]で囲まれない全ての部分文字列を置換したい


  1. かっこ`[]`で囲まれた文字以外を取得
  2. 取得した文字列を加工
  3. 加工した文字列に置き換える

例

`"[ほげ]あいうえお[ふが]かきくけこ"`

↓

`"[ほげ]<あいうえお>[ふが]<かきくけこ>"`

このような処理をrubyで行いたいのですがどうやったらよいのでしょうか。  
どの様な関数を使って処理するのかまったくイメージがつかめません・・・




こんな感じでどうでしょうか。  
[ ]で囲まれる部分とそうでない部分をマッチさせて、  
[で始まるものはそのまま、そうで無いものは<>で囲みます。

[code]

    p "[ほげ]あいうえお[ふが]かきくけこ".gsub(/((\[.+?\])|(?!\[)([^\[\]]+))/){ $1[0] =='[' ? $1 : '<' + $1 + '>' }#/((\[[^\]]+\])|([^\[\]]+))/
    
[/code]




こんな感じでどうでしょうか。  
[ ]で囲まれる部分とそうでない部分をマッチさせて、  
[で始まるものはそのまま、そうで無いものは<>で囲みます。

[code]

    p "[ほげ]あいうえお[ふが]かきくけこ".gsub(/((\[.+?\])|(?!\[)([^\[\]]+))/){ $1[0] =='[' ? $1 : '<' + $1 + '>' }#/((\[[^\]]+\])|([^\[\]]+))/
    
[/code]

