開発環境がSJIS(Windows)で実際に使うのがUTF-8(FC4)という事情もあり、気が付くのが遅れた。 UTF-8の環境下において正規表現を日本語の文字列に適用するには「mb_ereg」じゃなくて「preg_match」を使うのが吉みたい。 ANI.SONG用なんだけど、次のようなプログラムを書いて後ろの[REAL128]とかを削除したい。 $orignWord = "ドラマチック[REAL128]"; $searchWordList = new SearchWordList(); if ( mb_ereg( '^(.+)\[(.+)\]', $orignWord, $params ) ) { $searchWordList->add($params[1]); } print $searchWordList->get(); このプログラムの期待出力結果は > php aaa.php