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之for循环语句
Oct 02 Python
Python用GET方法上传文件
Mar 10 Python
python实现的简单猜数字游戏
Apr 04 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
手把手教你pycharm专业版安装破解教程(linux版)
Sep 26 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 Python
pandas分组聚合详解
Apr 10 Python
python中id函数运行方式
Jul 03 Python
Django CBV模型源码运行流程详解
Aug 17 Python
python 爬取B站原视频的实例代码
Sep 09 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世纪万年历
2006/12/06 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
php实现递归的三种基本方式
2020/07/04 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
2019/04/16 PHP
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python修改操作系统时间的方法
2015/05/18 Python
深入理解python try异常处理机制
2016/06/01 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
python将回车作为输入内容的实例
2018/06/23 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
ajax是什么及其工作原理
2012/02/08 面试题
业务员岗位职责范本
2013/12/15 职场文书
自荐书模板
2013/12/15 职场文书
公司应聘求职信
2014/06/21 职场文书
客户经理岗位职责
2015/01/31 职场文书
高考学习决心书
2015/02/04 职场文书
个人工作总结怎么写?
2019/04/09 职场文书
委托书范本格式
2019/04/18 职场文书
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫