java中的字符编码是unicode,有的人说java中的char类型占用2个字节,这个说法是不准确的。比如汉字,确实是占用了2个字节,但是对于英文字母,其实是占用了一个字节。这样做的目的是为了节省内存空间。因为在java的诞生地美国,都是用英文来书写的。
String str = "你好,hello world,我好,大家good";
String regex = "[\u4e00-\u9fa5]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.print(matcher.group(0) + "");
}