python如何实现统计汉字/英文单词数的正则表达式
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍了python如何实现统计汉字/英文单词数的正则表达式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。思路•使用正则式
千家信息网最后更新 2025年12月01日python如何实现统计汉字/英文单词数的正则表达式
这篇文章主要介绍了python如何实现统计汉字/英文单词数的正则表达式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
思路
•使用正则式 "(?x) (?: [\w-]+ | [\x80-\xff]{3} )"获得utf-8文档中的英文单词和汉字的列表。
•使用dictionary来记录每个单词/汉字出现的频率,如果出现过则+1,如果没出现则置1。
•将dictionary按照value排序,输出。
源码
#!/usr/bin/python# -*- coding: utf-8 -*-##author: rex#blog: http://iregex.org#filename counter.py#created: Mon Sep 20 21:00:52 2010#desc: convert .py file to html with VIM.import sysimport refrom operator import itemgetterdef readfile(f):with file(f,"r") as pFile:return pFile.read()def divide(c, regex):#the regex below is only valid for utf8 codingreturn regex.findall(c)def update_dict(di,li):for i in li:if di.has_key(i):di[i]+=1else:di[i]=1return didef main():#receive files from bashfiles=sys.argv[1:]#regex compile only onceregex=re.compile("(?x) (?: [\w-]+ | [\x80-\xff]{3} )")dict={}#get all words from filesfor f in files:words=divide(readfile(f), regex)dict=update_dict(dict, words)#sort dictionary by value#dict is now a list.dict=sorted(dict.items(), key=itemgetter(1), reverse=True)#output to standard-outputfor i in dict:print i[0], i[1]if __name__=='__main__':main()Tips
由于使用了files=sys.argv[1:] 来接收参数,因此./counter.py file1 file2 ...可以将参数指定的文件的词频累加计算输出。
可以自定义该程序。例如,
•使用
regex=re.compile("(?x) ( [\w-]+ | [\x80-\xff]{3} )") words=[w for w in regex.split(line) if w]这样得到的列表是包含分隔符在内的单词列表,方便于以后对全文分词再做操作。
•以行为单位处理文件,而不是将整个文件读入内存,在处理大文件时可以节约内存。
•可以使用这样的正则表达式先对整个文件预处理一下,去掉可能的html tags: content=re.sub(r"<[^>]+","",content),这样的结果对于某些文档更精确。
感谢你能够认真阅读完这篇文章,希望小编分享的"python如何实现统计汉字/英文单词数的正则表达式"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
单词
文件
正则
汉字
篇文章
表达式
英文
统计
内存
参数
文档
utf-8
处理
输出
精确
价值
全文
兴趣
分隔符
单位
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宝塔数据库备份用户权限表
家里有网但是显示无法连接服务器
电视剧软件开发
服务器打补丁要重启几次
山东顺势网络技术有限公司
网络安全保密检查表
台州app定制软件开发公司
物联网的网络安全是哪一层
从中控数据库取数据
数据库管理系统的
社区网络安全周宣传活动
系统正版化和网络安全
我想做app软件开发
网心云服务器教程
米高梅酒店服务器价格
数据库读写比较慢
网络安全在我心演讲
黑客就是网络安全
带宽服务器
网络安全警示语五十字
儿童网络安全游戏道具
数据库4级什么水平
关于网络安全的好开头
服务器做私服
黄浦租房网络安全
mc服务器聊天框打不开
南通计算机网络技术实习
主要负责人专题研究网络安全工作
仪器仪表上位机组态软件开发
数据库可以重复安装吗