gotoken さん、お返事ありがとうございます。

> 手もとでは $KCODE = "N" のときのみ再現するので、EUCを使うと
> きは冒頭で $KCODE = "E" としておくと良いかも知れません。また、
> $KCODEに依らず正規表現ごとにコードを指定することも出来ます。
> 
> reg = Regexp.new("[称稱]", nil, "E")  # もしくは /[称稱]/e

さっそく、コマンドラインオプションの -Ke, $KCODE = 'E', Regexp.new の
code 指定の3つをそれぞれ試してみました。

使用環境は
ruby 1.4.2 (1999-09-18) [i686-linux]
と、
ruby 1.4.2 (1999-09-18) [i386-cygwin]
です。

結果、いずれも 1 が返ってきました。

ちなみに、

str1 = "緇流"
#     e5be ceae
reg = Regexp.new("称")
#                bece
p reg =~ str1

ならば、(正しく) nil が返ってきます。

gotoken さんのバージョンはいくつでしょうか。

--
Hiroyuki KUROSAKI <noir / st.rim.or.jp>
PGP key fingerprint = 6F A5 A2 78 A6 D0 6E DF  F2 BE 47 35 03 05 9C 0F