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 22 Python
python连接mysql实例分享
Oct 09 Python
Python 基础教程之str和repr的详解
Aug 20 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
May 16 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
python多进程重复加载的解决方式
Dec 13 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
Python读取Excel一列并计算所有对象出现次数的方法
Sep 04 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
Python内置数据类型中的集合详解
Mar 18 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代码收集表单内容并写入文件的代码
2012/01/29 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
JS 对象介绍
2010/01/20 Javascript
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
pyside写ui界面入门示例
2014/01/22 Python
Python异常学习笔记
2015/02/03 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
彻底搞懂Python字符编码
2018/01/23 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
python实现名片管理器的示例代码
2019/12/17 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
行政主管岗位职责
2013/11/18 职场文书
中学教师教育感言
2014/02/21 职场文书
煤矿安全承诺书
2014/05/22 职场文书
小学生读书活动总结
2014/06/30 职场文书
通知函格式范文
2015/04/27 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
优秀创业计划书分享
2019/07/19 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python