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

如何用Python正则表达式统计HH:MM:xx格式的唯一时间前缀数量

问题分析

你现有代码存在两个核心问题:

  • 你将整行内容存入列表,而非匹配到的时间的HH:MM前缀
  • 普通列表会保留所有重复值,无法自动统计唯一值
修改后的代码
import re

# 正则可直接捕获HH:MM前缀部分,也可沿用你原来的分组写法
pattern = re.compile(r"(\d{2}:\d{2}):\d{2}")
path = r'C:\Users\CL\Desktop\abc.txt'

# 用set集合存储前缀,自动去重,重复前缀只会保留1份
unique_prefix = set()

# 用with open语法自动管理文件句柄,避免资源泄漏
with open(path, 'r', encoding='utf-8') as f:
    for line in f:
        for match in re.finditer(pattern, line):
            # 直接取分组1就是HH:MM前缀
            prefix = match.group(1)
            unique_prefix.add(prefix)

# 集合的长度就是唯一前缀的数量
print(len(unique_prefix)) # 样例输入输出为2
代码说明

如果沿用你原来的正则写法"(\d{2}):(\d{2}):(\d{2})",只需要把前缀拼接逻辑改成f"{match.group(1)}:{match.group(2)}"即可,运行效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:54:04