为了匹配 A 到 Z,我们将使用正则表达式:
[A-Za-z]
如何让正则表达式匹配用户输入的 utf8 字符?例如像环保部这样的中文单词
最佳答案
您正在寻找的是 Unicode 属性。
例如\p{L}
是任何语言的任何字母
所以匹配这样一个中文单词的正则表达式可能类似于
\p{L}+
这样的属性有很多,更多详情请看regular-expressions.info
另一种选择是使用修饰符
Pattern.UNICODE_CHARACTER_CLASS
在 Java 7 中有一个新属性 Pattern.UNICODE_CHARACTER_CLASS
启用预定义字符类的 Unicode 版本 see my answer here for some more details and links
你可以这样做
Pattern p = Pattern.compile("\\w+", Pattern.UNICODE_CHARACTER_CLASS);
和 \w
将匹配来自任何语言的所有字母和所有数字(当然还有一些组合字符,如 _
)。
关于支持Unicode的Java正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894122/