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多线程操作实例
Nov 21 Python
Python之用户输入的实例
Jun 22 Python
树莓派与PC端在局域网内运用python实现即时通讯
Jun 22 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 Python
python3的url编码和解码,自定义gbk、utf-8的例子
Aug 22 Python
为什么说Python可以实现所有的算法
Oct 04 Python
使用python代码进行身份证号校验的实现示例
Nov 21 Python
python科学计算之narray对象用法
Nov 25 Python
Python第三方包之DingDingBot钉钉机器人
Apr 09 Python
pymysql模块使用简介与示例
Nov 17 Python
python入门之算法学习
Apr 22 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实现递归的三种方法
2020/07/04 PHP
Aptana调试javascript图解教程
2009/11/30 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
JavaScript中清空数组的三种方式
2017/03/22 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
JS作用域链详解
2017/06/26 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
2017/07/10 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python创建和使用字典实例详解
2013/11/01 Python
Python break语句详解
2014/03/11 Python
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
详细解读Python中的__init__()方法
2015/05/02 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
Python Lambda函数使用总结详解
2019/12/11 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
诉讼代理人授权委托书
2014/04/08 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
辛亥革命观后感
2015/06/02 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书