[PHP-users 8459] マルチバイト文字の正規表現パターン

Hiroki Sagara php-users@php.gr.jp
Sat, 06 Jul 2002 03:17:52 +0900


はじめまして。
初めて投稿します、相良と申します。

現在、バイト先でPHPを用いてプログラムを組むことが
あり、そこで疑問を抱いたことがあったので
お聞きしたいと思い、投稿いたしました。

PostgreSQLを使って検索システムをつくっていますが
分かち書きを行って、DBに登録するとき、
ひらがな、カタカナ、記号、英数字で一文字のみの
データを登録しないようにしたいと思っています。
mb_ereg_matchなどを使って漢字以外の一文字の文字列と
マッチする正規表現を考えたのですが、うまくいきません
内部エンコーディングはEUC-JPを用いています。
EUC-JPのコード体系をみて、漢字の最初と最後の文字を取って
mb_ereg_match( "[^亜-熙]" , $string )
としてみましたが一部の記号しかマッチせずうまくいきませんでした。

なにかいい方法をご存知の方がいらっしゃいましたら
ご教授いただけないでしょうか。

環境:FreeBSD 4.5
   Apache1.3.26
   PostgreSQL7.2.1
   php4.2.1

-- 
  Mail from 相良博喜

  九州大学工学部エネルギー科学科

  Home :<gemini@mx7.tiki.ne.jp>
  Work:<uminchu@nagi.jp>
  Univ:<te100595@cse.ec.kyushu-u.ac.jp>
---