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中pygal绘制雷达图代码分享
Dec 07 Python
Python读取word文本操作详解
Jan 22 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
pandas通过loc生成新的列方法
Nov 28 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
python运用sklearn实现KNN分类算法
Oct 16 Python
keras的backend 设置 tensorflow,theano操作
Jun 30 Python
Pytho爬虫中Requests设置请求头Headers的方法
Sep 22 Python
python 第三方库paramiko的常用方式
Feb 20 Python
pandas DataFrame.shift()函数的具体使用
May 24 Python
python b站视频下载的五种版本
May 27 Python
python lambda 表达式形式分析
Apr 03 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继承的一个应用
2011/09/06 PHP
php实现的常见排序算法汇总
2014/09/08 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
用JavaScript显示随机图像或引用
2009/04/21 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
Python实现定时任务
2017/02/08 Python
python发送告警邮件脚本
2018/09/17 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
Python中的枚举类型示例介绍
2019/01/09 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
学Python 3的理由和必要性
2019/11/19 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
合伙经营协议书范本
2014/04/18 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
党员查摆剖析材料
2014/10/10 职场文书
公司放假通知怎么写
2015/04/15 职场文书
质量整改通知单
2015/04/21 职场文书