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实现排序算法
Feb 14 Python
python使用BeautifulSoup分析网页信息的方法
Apr 04 Python
用Python操作字符串之rindex()方法的使用
May 19 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
Python爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
python和flask中返回JSON数据的方法
Mar 26 Python
python matplotlib实现将图例放在图外
Apr 17 Python
Python文件操作模拟用户登陆代码实例
Jun 09 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 Python
python urllib和urllib3知识点总结
Feb 08 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中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
php面向对象值单例模式
2016/05/03 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
JS应用之禁止抓屏、复制、打印
2008/02/21 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
Python中的rjust()方法使用详解
2015/05/19 Python
python中引用与复制用法实例分析
2015/06/04 Python
python从入门到精通(DAY 3)
2015/12/20 Python
matplotlib中legend位置调整解析
2017/12/19 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
python 实现敏感词过滤的方法
2019/01/21 Python
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
总经理的岗位职责
2014/02/23 职场文书
金融管理专业求职信
2014/07/10 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
整改落实自查报告
2014/11/05 职场文书
团员年度个人总结
2015/02/26 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
mysql的数据压缩性能对比详情
2021/11/07 MySQL
90后经典动画片排行:《数码宝贝》第二,《小鲤鱼历险记》在榜
2022/03/18 日漫
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python
小程序自定义轮播图圆点组件
2022/06/25 Javascript