在河里抓鱼的熊

抓鱼杂谈

Archive for the ‘unicode’ tag

正则与中文

without comments

在正则表达式中,拉丁字符的匹配很是方便,可是如果要匹配的内容中有中文或者中文标点符号就很恼火。今天特意对中文码表做了细致的了解,分享给大家。
按照Unicode Block分别介绍:

  1. Basic Latin(\u0020-\u007E):
    这些是基本的可见ASCII码
  2. HalfWidth and FullWidth Forms(\uFF01-\uFFEE)
    全角符号(\uFF01-\uFF60):包含了大部分中文输入法所输入的符号。
    半角符号(\uFF61-\uFFEE):
  3. Genaral Punctuation(\u2000-\u206F):
    包含减号、破折号、省略号、单双引号、百分号、千分号、章节符号、分秒符号
  4. CJK Synmbols and Punctuation(\u3000-\u303F):
    常见的有下列符号《》「」『』【】〖〗
  5. CJK Unified Ideograph(\u4E00-\u9FFF):
    包含所有的中文汉字。因为从9FCC到最后都未定义,所以正则表达式中直接验证\u4E00-\u9FCB即可。有些朋友在介绍中文的正则匹配时说是从\u4E00-\u9FA5,但是在9FA5之后还有30个可见字,8个不可识别字(已分配,但无汉字实现),虽然最后有52个编码未分配,但起码也要在9FC3处结束,而不是9FA5。
  6. CJK Compatibility Ideographs(\uF900-\uFAFF):
    另一块汉字区域。FADA-FAFF未分配,所以仅在\uF900-\uFAD9有汉字。不过,这一区域的汉字在CJK Unified Ideograph块中都存在,不知道当初卫生么会分配这么一小块来放汉字!

Written by qianxiong

July 1st, 2010 at 1:21 pm

Posted in 技术

Tagged with , ,