首页前端开发其他前端知识python实现统计汉字/英文单词数的正则表达式

python实现统计汉字/英文单词数的正则表达式

时间2024-02-01 17:46:03发布访客分类其他前端知识浏览691
导读:收集整理的这篇文章主要介绍了python实现统计汉字/英文单词数的正则表达式,觉得挺不错的,现在分享给大家,也给大家做个参考。 思路 •使用正则式 "(?x (?: [\w-]+ |...
收集整理的这篇文章主要介绍了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 Sys
import re
From operator import itemgetter

def reaDFile(f):
with file(f,"r") as pFile:
return pFile.read()

def divide(c, regex):
#the regex below is only valid for utf8 coding
return regex.findall(c)


def update_dict(di,li):
for i in li:
if di.has_key(i):
di[i]+=1
else:
di[i]=1
return di

def main():

#receive files from bash
files=sys.argv[1:]

#regex compile only once
regex=re.COMpile("(?x) (?: [\w-]+ | [\x80-\xff]{ 3} )")

dict={ }

#get all words from files
for 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-output
for 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实现统计英文单词个数及字符串分割代码
  • 布同 统计英文单词的个数的python代码
  • Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
  • Python3实现统计单词表中每个字母出现频率的方法示例
  • python 文本单词提取和词频统计的实例
  • python实现字符串中字符分类及个数统计
  • python 统计数组中元素出现次数并进行排序的实例
  • python统计字母、空格、数字等字符个数的实例
  • Python实现统计英文文章词频的方法分析

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 巧解 JavaScript 中的嵌套替换(强...下一篇:正则表达式学习问答猜你在找的正则表达式相关文章 去除内容中的html2022-04-16Python正则表达式保姆式教学详细教程2022-04-16十分钟上手正则表达式 上篇2022-04-16十分钟上手正则表达式 下篇2022-04-16深入浅出正则表达式中的边界\b和\B2022-04-16轻松入门正则表达式之非贪婪匹配篇详解2022-04-16轻松掌握正则表达式findall函数详解2022-04-16正则表达式用法详解2022-04-1636个正则表达式(开发效率提高80%)2022-04-16Python正则表达式指南 推荐2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: python实现统计汉字/英文单词数的正则表达式
本文地址: https://pptw.com/jishu/595718.html
JS验证URL函数 正则 js正则表达式之RegExp对象属性lastIndex,lastMatch,lastParen,lastContext,rightContext属性讲解

游客 回复需填写必要信息