last updated:2021/06/03

←前へ 次へ→ 機能別Q&A 質問番号順Q&A


[HME0066A]

●漢字だけを探したい

Q.
半角の英数文字と漢字が混ざっている文書で、漢字だけを検索したいのですが、どうしたらいいのでしょうか?

A.
  • Shift_JISの場合
    正規表現で「[亜-黑]」を検索して下さい。この指定で、「亜」から「黑」の間の文字コードをもつ文字が検索できます。つまり、すべての漢字が検索できるわけです。

    [解説]

    なお、最後の漢字は区点コードで次のようになっているようです。

    体系 最後の漢字(区点コード、 漢字)
    新JISのための変更 8406
    98拡張漢字 9278
  • unicodeの場合
    Unicodeを使用している場合は、「[亜-黑]」では、全ての漢字を検索することはできません。 Unicodeで漢字のみを示す正規表現は、かなり長くなります。

    [\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DB5\u4E00-\u9FC3\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9]

    サロゲートペア領域は、

    [\u{20000}-\u{2A6D6}\u{2F800}-\u{2FA1D}]

    になります。

    これでは長いので、適当に省略してみました。

    [\u3400-\u9FC3\uF900-\uFAD9\u{20000}-\u{2A6D6}\u{2F800}-\u{2FA1D}]

    カタカナ、ひらがなも含める場合は、IMEの文字パレット等を参考にコードを追加してください。


←前へ 次へ→ 機能別Q&A 質問番号順Q&A