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

Python3正则表达式实操:提取urantia.txt文本中最大整数的方法

实现方案

核心逻辑

  • 用正则表达式匹配文本中所有整数序列,转换为整型后取最大值,同时覆盖常见异常场景

完整代码

import re

def find_max_integer(file_path: str) -> int | None:
    try:
        # 读取文件内容
        with open(file_path, 'r', encoding='utf-8') as f:
            content = f.read()
        # 匹配所有整数,如需仅匹配正整数可修改正则为r'\d+'
        num_str_list = re.findall(r'-?\d+', content)
        if not num_str_list:
            print("文本中未检测到任何整数")
            return None
        # 转换类型后取最大值
        max_num = max(map(int, num_str_list))
        return max_num
    except FileNotFoundError:
        print(f"错误:未找到路径为 {file_path} 的文件")
        return None

if __name__ == "__main__":
    target_path = "/users/abyron/resources/urantia.txt"
    max_integer = find_max_integer(target_path)
    if max_integer is not None:
        print(f"文本内数值最大的单个整数为:{max_integer}")

说明

  • 正则规则r'-?\d+'会匹配包含负号在内的所有整数,如果你的需求是仅提取正整数,将正则修改为r'\d+'即可
  • 代码默认用utf-8编码读取文件,如果你的文本是其他编码(比如gbk),修改open函数的encoding参数即可
  • 加入了文件不存在、无匹配整数的异常处理,避免程序直接崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:06:05