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简单实现基数排序算法
May 16 Python
python自动翻译实现方法
May 28 Python
Python中的sort()方法使用基础教程
Jan 08 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
Mar 24 Python
解决Python运行文件出现out of memory框的问题
Dec 03 Python
详解python的四种内置数据结构
Mar 19 Python
python使用time、datetime返回工作日列表实例代码
May 09 Python
原生python实现knn分类算法
Oct 24 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
python构造IP报文实例
May 05 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
浅谈Python数学建模之固定费用问题
Jun 23 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学习之 认清变量的作用范围
2010/01/26 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
JavaScript如何从listbox里同时删除多个项目
2013/10/12 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
python isinstance函数用法详解
2020/02/13 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
美国智能家居专家:tink
2019/06/04 全球购物
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
一些.net面试题
2014/10/06 面试题
投资意向书范本
2014/04/01 职场文书
程序员求职信
2014/04/16 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
片区教研活动总结
2014/07/02 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
体育运动会广播稿
2014/10/05 职场文书
医院科室评语
2015/01/04 职场文书
公司感谢信范文
2015/01/22 职场文书
东京审判观后感
2015/06/01 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python
golang使用map实现去除重复数组
2022/04/14 Golang