1

文字列内の無効な文字をブロックする正規表現がありますが、漢字もブロックしているので、必要ありません。手伝ってください。以下は私が使用している正規表現文字列です。

String re = "[^\\x09\\x0A\\x0D\\x20-\\xD7FF\\xE000-\\xFFFD\\x10000-x10FFFF]";

期待してくれてありがとう!

4

1 に答える 1

7

Java 7以降、 Unicodeプロパティ/スクリプトを利用できます。

たとえば、プロパティを使用して\p{L}、任意の言語の文字と一致させることができます。または、\p{IsHiragana}ひらがなに含まれる文字に一致するスクリプト。どのスクリプトがニーズに合っているかを確認する必要があります。

正規表現とUnicodeの詳細については、docs.Oracle.comを参照してください。

反対に一致することも可能です。たとえば、文字\P{L}ではない\p{L}すべての文字を一致させるか、文字を定義する範囲の代わりに、否定された文字クラスに追加するだけです。

于 2012-12-14T11:36:45.357 に答える