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 16 Python
python email smtplib模块发送邮件代码实例
Apr 26 Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
Python标准库itertools的使用方法
Jan 17 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 Python
15个Pythonic的代码示例(值得收藏)
Oct 29 Python
详解Django的MVT设计模式
Apr 29 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
May 21 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 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
python 利用栈和队列模拟递归的过程
2018/05/29 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
Python jieba库分词模式实例用法
2021/01/13 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
中学教师实习自我鉴定
2013/09/28 职场文书
投标承诺书范本
2014/03/27 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
导游词范文
2015/02/13 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL
MySQL数据库查询之多表查询总结
2022/08/05 MySQL