You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用REGEX读取txt文件统计单词出现次数并存储到字典中

Python实现正则提取单词并统计频次方案

核心逻辑

  • 核心正则规则用 [a-zA-Z]+ 匹配所有连续纯字母序列,自动过滤数字、特殊符号
  • 提取到的所有单词统一转小写,实现不区分大小写统计
  • 统计每个单词的出现次数,转成字典格式输出

完整代码示例

简洁版(用内置计数工具实现)

import re
from collections import Counter

# 替换为你的txt文件实际路径
file_path = "test.txt"
with open(file_path, 'r', encoding='utf-8') as f:
    content = f.read()

# 提取所有连续字母序列,统一转小写
words = [word.lower() for word in re.findall(r'[a-zA-Z]+', content)]

# 统计频次转字典
result = dict(Counter(words))
print(result)

新手易懂版(手动实现字典统计,无额外依赖)

import re

file_path = "test.txt"
with open(file_path, 'r', encoding='utf-8') as f:
    content = f.read()

raw_words = re.findall(r'[a-zA-Z]+', content)
result = {}
for word in raw_words:
    lower_word = word.lower()
    if lower_word in result:
        result[lower_word] += 1
    else:
        result[lower_word] = 1

print(result)

规则说明

  1. 正则表达式 [a-zA-Z]+ 中,[a-zA-Z] 表示匹配大小写英文字母,+ 表示匹配连续1个及以上的前面规则的字符,因此会自动忽略前后的数字、特殊符号,只提取纯字母组成的单词
  2. 所有提取到的单词统一调用lower()方法转小写,即可实现不区分大小写的统计需求
  3. 用你提供的示例文本测试,输出结果和你给出的预期完全一致:{'hello': 1, 'my': 2, 'name': 2, 'is': 2, 'jeff': 1, 'letters': 1, 'long': 1}

内容的提问来源于stack exchange,提问作者Nich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:06:01