金子です。
複雑なのも好きですが、簡単なのはもっと好きです。

On Thu, 27 Oct 2005 16:18:55 +0900
中村 英夫 <cxn03651 / msj.biglobe.ne.jp> wrote:
>  本当にやりたいことは、次のような条件で文字列を分解すること
> です。
>   ・区切り文字は[ \t\r\n\f ]  # 最後は全角スペースです
>     ->ですので、るびきちさん方式はそのままでは流用できそ
>      うにありません。
>   ・全角及び半角の()<>[]「」{}【】内の上記区切り文
>    字は区切りとしない
>   ・()等のパターンは0以上の任意回出現する

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

$ ruby -Ke -e 'p "あい(う え)お かき".split(/ (?! [\[<<「{{【\((]+ [^\]>>」}}】\))]* ) [\s ]+ (?! [^\[<<「{{【\((]* [\]>>」}}】\))]+ ) /x)'
["あい(う え)お", "かき"] 

$ ruby -Ke -e 'p "あい{う え}お かき".split(…)'
["あい{う え}お", "かき"]

$ ruby -Ke -e 'p "あい【{う え}】お  かき".split(…)'
["あい【{う え}】お", "かき"]

こういうことでしょうか?ちなみに、

$ ruby -Ke -e 'p "あい【{う え})お かき".split(…)'
["あい【{う え})お", "かき"]

こういうのにもマッチしてしまいます (^^;

-- 
金子誠司 (KANEKO Seiji)
GnuPG Fingerprint = 0E77 26A2 BBEE 0D35 098D 2E0C 2FE2 A4DC D383 313C