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

如何用正则表达式处理Python生成的版本文件,格式化以3开头的版本号?

Python脚本:版本号处理与导出

这里有一个完全符合你需求的Python实现,能把版本号按规则处理后用|分隔导出到文本文件:

核心处理逻辑

首先定义一个函数来处理单个版本号,针对以3.开头的版本做补前导0的操作:

def process_version(version):
    # 仅处理以3.开头的版本(避免误处理13.x这类版本)
    if version.startswith('3.'):
        parts = version.split('.')
        processed_parts = []
        for part in parts:
            # 分离数字部分和后缀(比如E、a这类非数字字符)
            num_str = ''
            suffix = ''
            for char in part:
                if char.isdigit():
                    num_str += char
                else:
                    suffix += char
            # 数字部分补前导0到两位
            processed_num = num_str.zfill(2)
            processed_parts.append(processed_num + suffix)
        return '.'.join(processed_parts)
    # 非3开头的版本直接返回原字符串
    else:
        return version

完整脚本(含导出功能)

把所有版本批量处理后写入文件:

# 你的版本列表(可以替换成你实际的版本数据)
versions = [
    "3.7.0E", "3.7.1E", "3.7.2E", "3.7.3E", "3.7.4E", "3.7.5E",
    "16.2.1", "16.2.2", "3.8.0E", "16.3.1", "16.3.2", "16.3.3",
    "16.3.1a", "16.4.1", "16.4.2", "3.17.1E", "3.7.11E"
]

# 批量处理所有版本
processed_versions = [process_version(v) for v in versions]

# 用|符号连接处理后的版本
output_content = '|'.join(processed_versions)

# 写入到文本文件(可以修改文件名)
with open('processed_versions.txt', 'w', encoding='utf-8') as f:
    f.write(output_content)

效果说明

运行脚本后,processed_versions.txt里的内容会是:

03.07.00E|03.07.01E|03.07.02E|03.07.03E|03.07.04E|03.07.05E|16.2.1|16.2.2|03.08.00E|16.3.1|16.3.2|16.3.3|16.3.1a|16.4.1|16.4.2|03.17.01E|03.07.11E

完全符合你要求的规则:

  • 3.7.0E → 03.07.00E(单个数字补前导0)
  • 3.17.1E → 03.17.01E(数字部分补到两位,后缀保留)
  • 非3开头的版本保持原样

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:02:41