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实现baidu hi自动登录的代码
Feb 10 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
Python语言描述最大连续子序列和
Dec 05 Python
nginx+uwsgi+django环境搭建的方法步骤
Nov 25 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
Dec 12 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
Feb 28 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
Pyecharts地图显示不完成问题解决方案
May 11 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
python绘制分布折线图的示例
Sep 24 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屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
使用Python pip怎么升级pip
2020/08/11 Python
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
超级搞笑检讨书
2014/01/15 职场文书
团日活动策划书
2014/02/01 职场文书
cf收人广告词大全
2014/03/14 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
违纪开除通知书
2015/04/25 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
深入浅析Django MTV模式
2021/09/04 Python
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android