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模块学习 re 正则表达式
May 19 Python
python实现划词翻译
Apr 23 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
python在linux系统下获取系统内存使用情况的方法
May 11 Python
浅析Python3爬虫登录模拟
Feb 07 Python
在Django中URL正则表达式匹配的方法
Dec 20 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
python识别图像并提取文字的实现方法
Jun 28 Python
django 微信网页授权登陆的实现
Jul 30 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
python查看矩阵的行列号以及维数方式
May 22 Python
python 实时调取摄像头的示例代码
Nov 25 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
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
Python格式化压缩后的JS文件的方法
2015/03/05 Python
python uuid模块使用实例
2015/04/08 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
Python文件读写常见用法总结
2019/02/22 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
python IDLE添加行号显示教程
2020/04/25 Python
django中嵌套的try-except实例
2020/05/21 Python
详解pandas赋值失败问题解决
2020/11/29 Python
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
投标承诺书范本
2014/03/27 职场文书
常务副总经理任命书
2014/06/05 职场文书
先进单位申报材料
2014/12/25 职场文书
先进事迹材料范文
2014/12/29 职场文书
营业员岗位职责范本
2015/04/14 职场文书
领导欢送会主持词
2015/07/06 职场文书