允许中文字符的正则表达式

aks*_*hat 1 java regex xml character

我有一个正则表达式阻止字符串中的无效字符,但它也阻止中文字符,我不想要它.请帮帮我.下面是我正在使用的正则表达式字符串.

String re = "[^\\x09\\x0A\\x0D\\x20-\\xD7FF\\xE000-\\xFFFD\\x10000-x10FFFF]";
Run Code Online (Sandbox Code Playgroud)

在期待中感谢!

ste*_*ema 6

从Java 7开始,您可以使用Unicode属性/脚本.

例如,您可以使用该属性\p{L}匹配任何语言的字母.或者\p{IsHiragana}匹配平假名中包含的字符的脚本.您需要检查哪些脚本符合您的需求.

有关正则表达式和Unicode的更多详细信息,请参见docs.Oracle.com

也可以匹配相反的情况,例如\P{L}匹配每个字符,不是字母,或者只是添加\p{L}到否定的字符类,而不是应该定义字母的范围.