Akinori MUSHAさんの<86eliedso1.wl / daemon.musha.org>から
>  これは確か、同じ場所で二度マッチしないようになっているため
> だったと思います。前にも話題になったような。空にマッチする
> パターンはややこしい、と。
> 
>  今の Ruby や鬼車ではマッチしませんね。Perl では二度マッチ
> するので実装上は可能だと思いますが。
> 
> 	$ ruby -e 'puts "abc".gsub(/(^|.)/,"(\\1)")'
> 	()a(b)(c)
> 	$ oniguruby -e 'puts "abc".gsub(/(^|.)/,"(\\1)")'
> 	()a(b)(c)
> 	$ perl -le '$_="abc";s/(^|.)/($1)/g;print'
> 	()(a)(b)(c)

空とマッチした後に、同じ場所で空でないものとマッチする可能性があるので
それにもマッチしたほうが良いということですね。

正規表現ライブラリに、空でないもののみマッチするというオプションを追加して、
Ruby側のstring.cかre.cで、必要なタイミングでそれを使用するように書き換えれば
可能でしょう。

Rubyで対応するかどうかとは無関係ですが、鬼車にそういうオプションが
追加可能かどうか、少し検討してみます。
--
小迫@ソフネック   渋谷区恵比寿1-15-1