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中map,reduce,filter和sorted函数的使用方法
Aug 17 Python
Python利用Beautiful Soup模块搜索内容详解
Mar 29 Python
python 寻找优化使成本函数最小的最优解的方法
Dec 28 Python
详解Django之admin组件的使用和源码剖析
May 04 Python
Python列表(List)知识点总结
Feb 18 Python
Python Flask 搭建微信小程序后台详解
May 06 Python
Python箱型图处理离群点的例子
Dec 09 Python
python 爬取疫情数据的源码
Feb 09 Python
Django中modelform组件实例用法总结
Feb 10 Python
Python内建序列通用操作6种实现方法
Mar 26 Python
python脚本第一行如何写
Aug 30 Python
python time()的实例用法
Nov 03 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学习之PHP表达式
2006/10/09 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
jquery 插件学习(五)
2012/08/06 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
每日十条JavaScript经验技巧(一)
2016/06/23 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
[50:21]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/19 DOTA
Python监控主机是否存活并以邮件报警
2015/09/22 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
最新大学生自我评价
2013/09/24 职场文书
职工运动会邀请函
2014/02/02 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
运动会口号8字
2014/06/07 职场文书
学前班语言教学计划
2015/01/20 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android