新井です。

>>> From: Inaba Hiroto <inaba / sdd.tokyo-sc.toshiba.co.jp>
>>> Date: 26 Mar 1999 14:58:32 +0900
>>> Subject: [ruby-dev:6524] Re: do you have need of the beginning/end ofword? (Re: Ruby 1.3.1-990315)

> 稲葉です.

> 自分は最初は違和感があったのですが, 今は妥協できる範囲だと思っています.

そう、妥協できちゃうんですよね。慣れてる人って、で
も慣れてない人がperlのルールを知らないために、「グ
ループ化って()だっけ?\(\)だっけ?」などと悩んでし
まわないかと危惧してしまいます。

() を引合にだしてるのは使用頻度が高いわりに一番混
沌としていると思うから。

私は、未だにgrep/egrepのグループ化ってどっち?って
思います。(^^;;;

今、GNU grepで試したら

grep:  \(\)
egrep: ()

だった。(なるほどrubyとegrepは一緒ですね。気が付か
なかったなぁ。あ、妥協案に一歩近付いてしまった)

>   "aaaa bbbb cccc".gsub(/\b(?=\w)/, "--")
>   => "--aaaa --bbbb --cccc"
> 
> ですね. (速度は落ちるかもしれません.)

まぁ、実用的にはperl5の拡張を知らない人向きに

   "aaaa bbbb cccc".gsub(/\b(\w)/, "--\\1")
   => "--aaaa --bbbb --cccc"

   "aaaa bbbb cccc".gsub(/(\w)\b/, "\\1--")
   => "aaaa-- bbbb-- cccc--"

でしょうね。大抵の場合は後方参照すら使わずに、

   gsub(/\bhoge/, "--hoge")

などとするかも。普通は、ある単語「hoge」を基準にパ
ターンを書くでしょうから。