維文unicode碼范圍?
Unicode CJK 的范圍分布在多個(gè)區(qū)段中,帶有 CJK 的區(qū)塊名中都擁有漢字。但最常用的范圍是 U+4E00~U+9FA5,即名為:CJK Unified Ideographs 的區(qū)塊,但 U+9FA6~U+9FFF 之間的字符還屬于空碼,暫時(shí)還未定義,但不能保證以后不會(huì)被定義。
在正則表達(dá)式中使用 [\u4e00-\u9fa5] 這種方式屬于寫(xiě)死的代碼,并不能根據(jù)平臺(tái)所提供的字符集范圍不同而改變,不過(guò)對(duì)于要求不是很高的話(huà)的是可以了。如果對(duì)字符集的要求很高,可以采用下面的這種 Unicode 塊的方式:
String regex = "[\\p{InCJK Unified Ideographs}&&\\P{Cn}]]";在當(dāng)前的 JDK 版中與 [\u4e00-\u9fa5] 的意義一致。但這樣可以匹配 Java 平臺(tái)所支持Unicode 塊名為 CJK Unified Ideogrpahs 中已定義的字符,這種方式就屬于“活”代碼今后的 JDK 版本升級(jí)了,定義到了 \u9fa6 的字符,同樣能夠滿(mǎn)足匹配。