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

如何使用正则表达式从大型TXT文件中提取多行模式字符串并写入独立文件?

没问题!用正则表达式搭配Python就能轻松搞定这个提取需求,我给你整理了一套完整的可落地方案:

解决方案思路

我们可以用正则表达式精准匹配每个以RIG开头的片段,再用Python脚本自动将每个片段写入对应的独立文件——既高效又能保证准确性。

正则表达式说明

这里的核心正则是:

RIG.*?(?=RIG|$)
  • RIG:匹配片段的起始标识
  • .*?:非贪婪模式匹配任意字符(避免一次性匹配到文件结尾)
  • (?=RIG|$):正向预查,确保匹配到下一个RIG之前就停止,或者匹配到文件结尾(处理最后一个片段)
  • 加上re.DOTALL参数后,.会包含换行符,能兼容跨多行的RIG片段
Python代码实现

直接用下面的脚本就能完成提取工作:

import re

# 替换成你的源文件路径
source_file = 'example.txt'

# 读取源文件全部内容
with open(source_file, 'r') as f:
    content = f.read()

# 编译正则表达式,开启DOTALL模式支持跨行匹配
rig_pattern = re.compile(r'RIG.*?(?=RIG|$)', re.DOTALL)

# 提取所有符合要求的片段
rig_segments = rig_pattern.findall(content)

# 遍历每个片段,生成对应文件
for segment in rig_segments:
    # 清理片段前后的空白(比如换行、多余空格)
    cleaned_segment = segment.strip()
    if not cleaned_segment:
        continue  # 跳过空片段
    
    # 生成文件名:取RIG后面的标识(比如"RIG 1C 0" → "RIG1C0.txt")
    # 分割前3个元素并拼接,确保文件名符合你的需求
    name_parts = cleaned_segment.split(maxsplit=3)[:3]
    output_filename = ''.join(name_parts) + '.txt'
    
    # 写入文件
    with open(output_filename, 'w') as output_file:
        output_file.write(cleaned_segment)
        print(f"✅ 已生成文件: {output_filename}")
使用步骤
  1. 把上面的代码保存为extract_rig.py,和你的example.txt放在同一个文件夹里
  2. 打开终端/命令行,进入该文件夹,运行命令:
    python extract_rig.py
    
  3. 完成后,你就能看到每个RIG片段对应的独立文件了
注意事项
  • 如果你的源文件编码不是默认的UTF-8,可以在open()函数里加上encoding='xxx'参数(比如encoding='gbk')
  • 如果RIG后面的标识格式有变化,可以调整name_parts的分割逻辑来适配你的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 17:22:35