Archive for the ‘unicode’ tag
正则与中文
在正则表达式中,拉丁字符的匹配很是方便,可是如果要匹配的内容中有中文或者中文标点符号就很恼火。今天特意对中文码表做了细致的了解,分享给大家。
按照Unicode Block分别介绍:
- Basic Latin(\u0020-\u007E):
这些是基本的可见ASCII码 - HalfWidth and FullWidth Forms(\uFF01-\uFFEE)
全角符号(\uFF01-\uFF60):包含了大部分中文输入法所输入的符号。
半角符号(\uFF61-\uFFEE): - Genaral Punctuation(\u2000-\u206F):
包含减号、破折号、省略号、单双引号、百分号、千分号、章节符号、分秒符号 - CJK Synmbols and Punctuation(\u3000-\u303F):
常见的有下列符号《》「」『』【】〖〗 - CJK Unified Ideograph(\u4E00-\u9FFF):
包含所有的中文汉字。因为从9FCC到最后都未定义,所以正则表达式中直接验证\u4E00-\u9FCB即可。有些朋友在介绍中文的正则匹配时说是从\u4E00-\u9FA5,但是在9FA5之后还有30个可见字,8个不可识别字(已分配,但无汉字实现),虽然最后有52个编码未分配,但起码也要在9FC3处结束,而不是9FA5。 - CJK Compatibility Ideographs(\uF900-\uFAFF):
另一块汉字区域。FADA-FAFF未分配,所以仅在\uF900-\uFAD9有汉字。不过,这一区域的汉字在CJK Unified Ideograph块中都存在,不知道当初卫生么会分配这么一小块来放汉字!