\pL+\pM+
正規表現が英語で機能しないのはなぜですか?
以下の最初の例の結果が false で、2 番目の例の結果が true になるのはなぜですか?
System.out.println(Charset.forName("UTF-8").encode("suren")
.asCharBuffer().toString().matches("\\PL+\\PM+"));
System.out.println(Charset.forName("UTF-8").encode("स्वागत")
.asCharBuffer().toString().matches("\\PL+\\PM+"));
基本的に、文字列内のユニコード文字 (世界中の任意の言語) のみを制限するには、正規表現が必要です。