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中使用SimpleParse模块进行解析的教程
Apr 11 Python
python实现的简单窗口倒计时界面实例
May 05 Python
Python赋值语句后逗号的作用分析
Jun 08 Python
深入学习Python中的装饰器使用
Jun 20 Python
Python学习思维导图(必看篇)
Jun 26 Python
django1.11.1 models 数据库同步方法
May 30 Python
python实现判断一个字符串是否是合法IP地址的示例
Jun 04 Python
基于Python在MacOS上安装robotframework-ride
Dec 28 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
python合并多个excel文件的示例
Sep 23 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 Python
Python 第三方库 openpyxl 的安装过程
Dec 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
浅谈javascript的数据类型检测
2010/07/10 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python中关键字is与==的区别简述
2014/07/31 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
Python中字典映射类型的学习教程
2015/08/20 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
python 解决函数返回return的问题
2020/12/05 Python
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
购房协议书范本
2014/04/11 职场文书
大学生新学期计划书
2014/04/28 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android