Python正则表达式匹配中文用法示例


Posted in Python onJanuary 17, 2017

本文实例讲述了Python正则表达式匹配中文用法。分享给大家供大家参考,具体如下:

#!/usr/bin/python
#-*- coding:cp936-*-#思路,将str转换成unicode,方可用正则表达式,前提是,要知道文件的编码,本例中是gbk
import cPickle as mypickle
import re
import sys
if (__name__=='__main__'):
  fid1=file('demo.txt','r');#demo.txt写入字符如:三水点靠木
  p=re.compile('(^\s+|\s+$)');
  phanzigbk=re.compile('[\\x20-\\x7f]');
  phanzi=re.compile(u'[\u4e00-\u9fa5]');#这里要加u,注意
  commlines=fid1.readlines();
  fid1.close();
  dictfamilyname={};
  dictfirstname={};
  for line in commlines:
    line=p.sub('',line);
    print type(line);
    print line;
    uline=unicode(line,'gbk');
    print type(uline);
    candidates=phanzi.findall(uline);
    print len(candidates);
    if(len(candidates)==2):
      print candidates[0];
      familynamegbk=candidates[0].encode('gbk');#把unicode型的变量变成str型的变量
      firstnamegbk=candidates[1].encode('gbk');
      if(dictfamilyname.has_key(familynamegbk)):
        dictfamilyname[familynamegbk]=dictfamilyname[familynamegbk]+1;
      else:
        dictfamilyname[familynamegbk]=1;
      if(dictfirstname.has_key(firstnamegbk)):
        dictfirstname[firstnamegbk]=dictfirstname[firstnamegbk]+1;
      else:
        dictfirstname[firstnamegbk]=1;
  familynameitems=dictfamilyname.items();
  print familynameitems;
  firstnameitems=dictfirstname.items();
  familynameitems.sort(key=lambda d:d[1],reverse=True);
  firstnameitems.sort(key=lambda d :d[1],reverse=True);
  fid=file('familyname.txt','w');
  for m in familynameitems:
    s=m[0]+'\t'+str(m[1]);
    fid.write(s);
    fid.write('\n');
  fid.close();
  fid=file('firstname.txt','w');
  for m in firstnameitems:
    s=m[0]+'\t'+str(m[1]);
    fid.write(s);
    fid.write('\n');
  fid.close();
  print 'finish'

运行效果图如下:

Python正则表达式匹配中文用法示例

Python 相关文章推荐
Python3里的super()和__class__使用介绍
Apr 23 Python
在Django中创建动态视图的教程
Jul 15 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
Windows上使用Python增加或删除权限的方法
Apr 24 Python
用Python3创建httpServer的简单方法
Jun 04 Python
python实现flappy bird小游戏
Dec 24 Python
Python 20行简单实现有道在线翻译的详解
May 15 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
Apr 02 Python
如何验证python安装成功
Jul 06 Python
python3.5的包存放的具体路径
Aug 16 Python
关于Numpy之repeat、tile的用法总结
Jun 02 Python
python下如何查询CS反恐精英的服务器信息
Jan 17 #Python
python基础教程之匿名函数lambda
Jan 17 #Python
python基础教程之Filter使用方法
Jan 17 #Python
python正则分析nginx的访问日志
Jan 17 #Python
你应该知道的python列表去重方法
Jan 17 #Python
Python实现FTP上传文件或文件夹实例(递归)
Jan 16 #Python
Python Socket传输文件示例
Jan 16 #Python
You might like
使用PHP的日期与时间函数技巧
2008/04/24 PHP
php仿discuz分页效果代码
2008/10/02 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
python中requests和https使用简单示例
2018/01/18 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
python 生成图形验证码的方法示例
2018/11/11 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
基于python检查矩阵计算结果
2020/05/21 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
求职信的七个关键技巧
2014/02/05 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
社团招新宣传语
2015/07/13 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
MySQL Server层四个日志的实现
2022/03/31 MySQL