js正規表現マッチング漢字

737 ワード

休みに先生は大きな宿題を出して、uniocdeコードの漢字を正規表現でマッチングする必要がありますが、ネット上では千編一律/[u 4 e 00-u 9 fa 5]/、結果はもちろん先生の宿題検査に合格しませんでした(もちろん問題はそれだけではありません).ある大牛のブログを探して、やっと漢字のマッチング方法が分かった.
ネット上で広く伝えられている/[u 4 e 00-u 9 fa 5]/実はcjk統一表意文字の基本部分であり、バージョンは1.1のバージョン、つまり20年前のバージョンである.:)エアskrの最新版のリンクはここにあります.
簡単に言えば、この問題を解決するには、まずunicodeの漢字の定義を理解し、漢字と漢文の区別に注意しなければならない(大牛ブログで述べた).その後、対応するunicodeの使用範囲を検索できます.でも...時間が経つにつれて、自動的に時代に合わせて漢字をマッチングさせる正規表現を書くにはどうすればいいのでしょうか.答えはUnicode属性クラスです.その名の通り、一定の属性条件を満たすunicodeコードを一緒に置くことで、正規表現を書くときに一つ一つ対応する範囲を取る必要はありません.例えば、私は漢字を探してunicode属性クラスを使って直接書くことができます.
/\p{Unified_Ideograph}/u

しかし、現在ではすべてのブラウザがこのような正規表現の書き方をサポートしているわけではないようで、サポートしなければコンバータを使って優雅に降格する必要があります.