From: Hiroyuki KUROSAKI Date: 1999-12-06T18:50:40+09:00 Subject: [ruby-list:19193] Japanese Regular Expression はじめまして。黒崎と申します。最近 Ruby を使いはじめました。よろしく お願いします。 Ruby を使って、テキストデータの検索インターフェースを提供する簡単な CGI スクリプトを作成しています。異体字に対応するため、異体字を1行ずつ 列挙したファイルを用意し、それを読み込んで各文字をキー、異体字となる文 字の羅列を [ ] で囲んで文字クラス表現にしたものを値としたハッシュを生 成して、これを使って検索文字列を一文字ずつ文字クラスに置き換えていく、 ということをしています。(もっと効率的な方法があるかもしれませんが……) そのさいに結果を見て気づいたのですが、文字コードが EUC のとき、文字ク ラスが2バイト文字の後半と次の字の前半にマッチしてしまうようです。 例えば、 str1 = "緇流" # e5be ceae reg = Regexp.new("[称稱]") # bece p reg =~ str1 これで、結果が 1 になります。Ruby のバージョンは 1.4.2 です。 -- Hiroyuki KUROSAKI PGP key fingerprint = 6F A5 A2 78 A6 D0 6E DF F2 BE 47 35 03 05 9C 0F