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实现的字典值比较功能示例
Jan 08 Python
python定向爬取淘宝商品价格
Feb 27 Python
Python requests库用法实例详解
Aug 14 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
解决Django连接db遇到的问题
Aug 29 Python
python安装virtualenv虚拟环境步骤图文详解
Sep 18 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 Python
python中可以声明变量类型吗
Jun 18 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
php时间戳转换的示例
2014/03/31 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
js 自定义的联动下拉框
2010/02/07 Javascript
Jquery 插件开发笔记整理
2011/01/17 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
JavaScript实现区块链
2018/03/14 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
python配置文件写入过程详解
2019/10/19 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
建龙钢铁面试总结
2014/04/15 面试题
行政专员的岗位职责
2014/03/10 职场文书
单位消防安全责任书
2014/07/23 职场文书
学校就业保障协议书
2019/06/24 职场文书
JS中如何优雅的使用async await详解
2021/10/05 Javascript