中村です。

 金子さん、ありがとうございます。

> ワタシの案で愚直に括弧のパターンを増やしてみました。ついでに /x を使って、
> 可読性の改善を試みました。全角スペースは真ん中の1つだけです。

> $ ruby -Ke -e 'p "あい(う え)お かき".split(/ (?! [\[<<「{{【\((]+ [^\]>>」}}】\))]* ) [\s ]+ (?! [^\[<<「{{【\((]* [\]>>」}}】\))]+ ) /x)'
> $ ruby -Ke -e 'p "あい{う え}お かき".split(…)'
> $ ruby -Ke -e 'p "あい【{う え}】お  かき".split(…)'
> こういうことでしょうか?ちなみに、

WinXP上で
>ruby -Ks -e "p 'あい(う え)お<かき>くけこ さし'.split(/ (?! [\[<<「{{【\((]+ [^\]>>」}}】\))]* ) [\s ]+ (?! [^\[<<「{{【\((]* [\]>>」}}】\))]+ ) /x)"
["あい(う え)お<かき>くけこ", "さし"]

 こういう感じの入力文字列です。でも、これでもちゃんと判別し
てくれますね。

> $ ruby -Ke -e 'p "あい【{う え})お かき".split(…)'
> こういうのにもマッチしてしまいます (^^;

 これは・・・、ちょっと期待した動作と違います。。。括弧の種
別の対応はきちんと見たい訳で。。

 ここまで来ると私の能力では後でちょっといじることが出来なく
なりそうで躊躇してしまいますが、正規表現ってパズルのようで面
白いものですね。


                  中村(cxn03651 / msj.biglobe.ne.jp)