本文实例讲述了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'
运行效果图如下:
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools./regex/javascript
正则表达式在线生成工具:
http://tools./regex/create_reg
更多关于Python相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# 正则表达式
# 匹配
# 中文
# Python正则表达式re.sub()用法详解
# Python正则表达式re.search()用法详解
# 详解Python3中的正则表达式的基本用法
# Python中正则表达式的用法总结
# python中正则表达式 re.findall 用法
# 一文介绍Python中的正则表达式用法
# 进阶
# 操作技巧
# 相关内容
# 数据结构
# 给大家
# 要知道
# 转换成
# 更多关于
# 所述
# 程序设计
# 使用技巧
# 再为
# 本例
# 测试工具
# 编程技巧
# 讲述了
# demo
# file
# cPickle
相关文章:
如何通过主机屋免费建站教程十分钟搭建网站?
如何用虚拟主机快速搭建网站?详细步骤解析
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
建站主机选哪家性价比最高?
如何规划企业建站流程的关键步骤?
如何设计高效校园网站?
常州企业建站如何选择最佳模板?
香港服务器部署网站为何提示未备案?
javascript中的try catch异常捕获机制用法分析
如何快速搭建高效WAP手机网站?
建站VPS选购需注意哪些关键参数?
电商网站制作公司有哪些,1688网是什么意思?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
全景视频制作网站有哪些,全景图怎么做成网页?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
如何在Golang中指定模块版本_使用go.mod控制版本号
如何在Windows 2008云服务器安全搭建网站?
微信推文制作网站有哪些,怎么做微信推文,急?
南平网站制作公司,2025年南平市事业单位报名时间?
如何登录建站主机?访问步骤全解析
建站ABC备案流程中有哪些关键注意事项?
,sp开头的版面叫什么?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
贸易公司网站制作流程,出口贸易网站设计怎么做?
免费视频制作网站,更新又快又好的免费电影网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
模具网站制作流程,如何找模具客户?
如何快速生成专业多端适配建站电话?
建站之星展会模版如何一键下载生成?
上海网站制作开发公司,上海买房比较好的网站有哪些?
山东云建站价格为何差异显著?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
建站主机核心功能解析:服务器选择与网站搭建流程指南
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何在自有机房高效搭建专业网站?
为什么Go需要go mod文件_Go go mod文件作用说明
定制建站价位费用解析与套餐推荐全攻略
表情包在线制作网站免费,表情包怎么弄?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
七夕网站制作视频,七夕大促活动怎么报名?
详解jQuery停止动画——stop()方法的使用
盘锦网站制作公司,盘锦大洼有多少5G网站?
公司网站的制作公司,企业网站制作基本流程有哪些?
如何快速完成中国万网建站详细流程?
南京网站制作费用,南京远驱官方网站?
*服务器网站为何频现安全漏洞?
如何在阿里云完成域名注册与建站?
*请认真填写需求信息,我们会在24小时内与您取得联系。