こんにちは、高石です。

ごく単純に、

"abc".gsub(/^|(.)/,"(\\1)")

=> "()a(b)(c)"

となりました。(ruby 1.6.6)
行頭(^)にマッチした後、"abc" が残らずに "bc" だけになってい
るようですね。
/--------------------------------------------------------/
  高石 勇人 < rio-t / presen.to >
  PGP Key(RSA): http://rio-t.presen.to/pgp/mykey.asc
         (DSS): http://rio-t.presen.to/pgp/mykey-dss.asc
/--------------------------------------------------------/