标签:
正如网上流传的,判断中文的正则表达式,绝大部分是这么写的(OC语言):
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",@"[\u4e00-\u9fa5]"]; /*判断是否为中文的正则表达式*/ if([predicate evaluateWithObject:name]){ //是中文 }else{ //不是中文 }然而上面的正则表达式,逻辑上讲其实不太严谨:比如一些生僻字的Unicode不在0x4e00-0x9FA5之间,那么它不能正确识别出来:比如一些四叠字:
下载unicode和utf-8的转换工具,下载
如四个日的汉字,运行结果是“不是汉字”
所以,在进行正则表达式的时候需要把第二平面的汉字囊括进去。
更严谨的正则表达式应该是这样的:
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/hherima/article/details/46967755