汉字的Unicode范围扩展了好多次了,网上的各种判断正则都是之前的,漏了很多
汉字
下面是最新的最全的判断正则
/**
* 判断字符串中是否包含中文汉字
*
* @param content
* @return true至少包含1个
*/
public static boolean hasChinese(CharSequence content) {
if (null == content) {
return false;
}
String regex = "[\u2E80-\u2EFF\u2F00-\u2FDF\u31C0-\u31EF\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\uD840\uDC00-\uD869\uDEDF\uD869\uDF00-\uD86D\uDF3F\uD86D\uDF40-\uD86E\uDC1F\uD86E\uDC20-\uD873\uDEAF\uD87E\uDC00-\uD87E\uDE1F]+";
Pattern pattern = Pattern.compile(regex);
return pattern.matcher(content).find();
}
/**
* 判断字符串是否为中文汉字
*
* @param content
* @return true都是汉字
*/
public static boolean isChinese(CharSequence content) {
if (null == content) {
return false;
}
String regex = "[\u2E80-\u2EFF\u2F00-\u2FDF\u31C0-\u31EF\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\uD840\uDC00-\uD869\uDEDF\uD869\uDF00-\uD86D\uDF3F\uD86D\uDF40-\uD86E\uDC1F\uD86E\uDC20-\uD873\uDEAF\uD87E\uDC00-\uD87E\uDE1F]+";
Pattern pattern = Pattern.compile(regex);
return pattern.matcher(content).matches();
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)