PHP:mb_eregよりpreg_matchを使った方が良い?

UTF-8の環境下で正規表現を日本語の文字列に適用するには
「mb_ereg」じゃなくて「preg_match」を使う方が良い?

Windows上のSJIS環境では、mb_eregでも、
日本語のマッチング処理が期待通り動作して、特に問題は起こらなかった。

しかしそれをUTF-8環境に持っていくと、期待通りマッチしない。
mb_language()やmb_internal_encoding()をやってもだめ。

そこで、preg_match()に置き換えたら、期待通りマッチするようになった。