标签:bug hang mil 不能 ber arm att pen oar
原文地址:http://blog.csdn.NET/xzl04/article/details/6307416
java正则:
Unicode CJK 的范围分布在多个区段中,2 楼所贴出来的是整个 Unicode 中区块
表,带有 CJK 的区块名中都拥有汉字。但最常用的范围是 U+4E00~U+9FA5,即名
为:CJK Unified Ideographs 的区块,但 U+9FA6~U+9FFF 之间的字符还属于空码,
暂时还未定义,但不能保证以后不会被定义。
下面这个是 Unicode 中 U+4E00~U+9FFF 的码表:
http://www.unicode.org/charts/PDF/U4E00.pdf
在这里可以根据 Unicode 码查到所有的字符:
http://www.unicode.org/cgi-bin/GetUnihanData.pl
另:在正则表达式中使用 [\u4e00-\u9fa5] 这种方式属于写死的代码,并不能根据
平台所提供的字符集范围不同而改变,不过对于要求不是很高的话的是可以了。如果
对字符集的要求很高,可以采用下面的这种 Unicode 块的方式:
1
|
String regex = "[\\p{InCJK Unified Ideographs}&&\\P{Cn}]]" ; |
在当前的 JDK 版中与 [\u4e00-\u9fa5] 的意义一致。但这样可以匹配 Java 平台所支持
Unicode 块名为 CJK Unified Ideogrpahs 中已定义的字符,这种方式就属于“活”代码
今后的 JDK 版本升级了,定义到了 \u9fa6 的字符,同样能够满足匹配。
标签:bug hang mil 不能 ber arm att pen oar
原文地址:http://www.cnblogs.com/jiangzhaowei/p/6952586.html