本文实例讲述了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
相关文章:
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
济南网站制作的价格,历城一职专官方网站?
如何选择高效稳定的ISP建站解决方案?
开封网站制作公司,网络用语开封是什么意思?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
西安专业网站制作公司有哪些,陕西省建行官方网站?
用v-html解决Vue.js渲染中html标签不被解析的问题
盘锦网站制作公司,盘锦大洼有多少5G网站?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
在线教育网站制作平台,山西立德教育官网?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何在万网ECS上快速搭建专属网站?
建站之星在线客服如何快速接入解答?
如何制作一个表白网站视频,关于勇敢表白的小标题?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
如何在Windows虚拟主机上快速搭建网站?
php json中文编码为null的解决办法
如何在万网自助建站平台快速创建网站?
Python文件管理规范_工程实践说明【指导】
设计网站制作公司有哪些,制作网页教程?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
建站主机服务器选购指南:轻量应用与VPS配置解析
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
如何选择高效便捷的WAP商城建站系统?
如何设计高效校园网站?
如何在万网开始建站?分步指南解析
如何配置支付宝与微信支付功能?
Thinkphp 中 distinct 的用法解析
官网建站费用明细查询_企业建站套餐价格及收费标准指南
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
郑州企业网站制作公司,郑州招聘网站有哪些?
如何快速选择适合个人网站的云服务器配置?
如何在局域网内绑定自建网站域名?
Android自定义listview布局实现上拉加载下拉刷新功能
山东网站制作公司有哪些,山东大源集团官网?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
如何选择适配移动端的WAP自助建站平台?
PHP正则匹配日期和时间(时间戳转换)的实例代码
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
广州建站公司哪家好?十大优质服务商推荐
如何通过WDCP绑定主域名及创建子域名站点?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何快速生成高效建站系统源代码?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
创业网站制作流程,创业网站可靠吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。