IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]3.2.5.10 识别中文的正则表达式

    caimouse发表于 2015-09-19 09:25:33
    love 0

    3.2.5.10 识别中文的正则表达式

    在我们编写程序时,经常需要判断输入的字符是否包括有中文字符,比如特定的注册帐号,一般不支持中文字符。又比如在电话输入框里输入了中文字符,这时就需要正则表达式来判断是否合法了。

    例子:

    import re

     

    print('[u4e00-u9fa5]')

    m = re.findall('[\u4e00-\u9fa5]', 'abc abc 中国 456')

    if m:

        print(m) 

    结果输出如下:

    [u4e00-u9fa5]

    ['中', '国']

    在这里使用正则表达式[\u4e00-\u9fa5]来定义一个集合,也就是从0x4e00开始到0x9fa5的集合,只要在这个集合内的字符都匹配成功。

     

    3.2.5.11 双字节的字符识别

    我们知道双字节的字符,肯定是两个字符组成,大于255的字符,由此可知,如果不在0x00-0xff集合里的字符,那么就是双字节字符了。

    例子:

    print('[^x00-xff]')

    m = re.findall('[^\x00-\xff]', 'abc abc 中国 456')

    if m:

        print(m) 

    结果输出如下:

    [^x00-xff]

    ['中', '国']

    在这里使用了正则表达式[^\x00-\xff],这里使用^符号来表示取反的意思,就是非0x00-0xff的字符就匹配成功,所以结果只输出中国这两个字符。

     


    蔡军生 微信号:shenzhencai  深圳



沪ICP备19023445号-2号
友情链接