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 相关文章推荐
python比较两个列表是否相等的方法
Jul 28 Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 Python
动态规划之矩阵连乘问题Python实现方法
Nov 27 Python
python+mysql实现学生信息查询系统
Feb 21 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
pymysql 开启调试模式的实现
Sep 24 Python
python实现根据文件格式分类
Oct 31 Python
django自带的权限管理Permission用法说明
May 13 Python
python使用多线程+socket实现端口扫描
May 28 Python
python正则表达式 匹配反斜杠的操作方法
Aug 07 Python
Python爬取微信小程序Charles实现过程图解
Sep 29 Python
Python logging自定义字段输出及打印颜色
Nov 30 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+DBM的同学录程序(5)
2006/10/09 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
vue router demo详解
2017/10/13 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
Python Web服务器Tornado使用小结
2014/05/06 Python
Python装饰器decorator用法实例
2014/11/10 Python
python3序列化与反序列化用法实例
2015/05/26 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
浅析Python面向对象编程
2020/07/10 Python
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
浅谈react路由传参的几种方式
2021/03/23 Javascript
农田水利实习自我鉴定
2013/09/19 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
中学生运动会通讯稿大全
2014/09/18 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
电影建国大业观后感
2015/06/01 职场文书
《去年的树》教学反思
2016/02/18 职场文书