python如何实现统计汉字/英文单词数的正则表达式
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍了python如何实现统计汉字/英文单词数的正则表达式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。思路•使用正则式
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
服务器后台管理一般的链接是
软件开发和软件测试就业
数据库和区块链有什么不同
云服务器上登qq安全吗
服务器显卡驱动安装不上
小学网络安全年度工作谋划
县级软件开发公司
山西工商学院数据库
世界贸易数据库
怎样确保军事信息网络安全
安全令内部服务器错误
网络技术类公务员
ajax加载下拉框数据库
网络安全青警说感受
消防队网络安全排查
华为网络技术与设备教程
烟台联想服务器零售
网络安全操作记录
线美互联网科技 招聘信息
配置文件连接数据库怎么写
软件开发和软件测试就业
数据库sum的使用方法
龙之谷单机修改数据库
服务器显卡驱动安装不上
数据库sc的意思
网络安全青警说感受
山西调度服务器价格
珠海格力软件开发待遇
深圳嘎吱网络技术有限公司赖荣伟
关于网络安全的杂志