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爬虫实现教程转换成 PDF 电子书
Feb 19 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
如何通过python实现人脸识别验证
Jan 17 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
python连接mysql数据库并读取数据的实现
Sep 25 Python
Python更改pip镜像源的方法示例
Dec 01 Python
Django权限控制的使用
Jan 07 Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 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在线生成ico文件的代码
2007/10/09 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
PHP函数超时处理方法
2016/02/14 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
JS 动态加载脚本的4种方法
2009/05/05 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
python下载文件记录黑名单的实现代码
2017/10/24 Python
Python Grid使用和布局详解
2018/06/30 Python
详解python里的命名规范
2018/07/16 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
python输入中文的实例方法
2020/09/14 Python
Python 解析xml文件的示例
2020/09/29 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
求职简历自荐信范文
2013/10/21 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
保险公司晨会主持词
2014/03/22 职场文书
销售团队激励口号
2014/06/06 职场文书
婚内分居协议书范文
2014/11/26 职场文书
党员评议自我评价
2015/03/03 职场文书
四年级数学教学反思
2016/02/16 职场文书
思想品德课教学反思
2016/02/24 职场文书