Skip to content

正则批量替换

TODO: 截图 — 工具主界面(文本模式)

概述

正则批量替换(Regex Applier)是一个强大的文本处理工具,支持通过预设的多条正则规则链,一键批量处理文本内容或文件。无论是清洗日志、格式化代码、提取结构化数据,还是批量修改文件内容,它都能高效完成。

核心功能

  • 双引擎设计:浏览器端 JS 引擎提供毫秒级实时预览,后端 Rust 引擎以极高性能处理大批量文件
  • 预设规则链:将多条正则规则组成"预设",按顺序依次应用,支持拖拽排序和快速开关
  • 两种处理模式:直接输入文本(或粘贴剪贴板)即时处理,或选择文件/文件夹批量处理
  • 一键处理:从剪贴板读取 → 应用规则 → 写回剪贴板,一次点击完成全流程
  • 预设管理:创建、复制、导入/导出预设,内置 18 种常用正则快捷模式

快速上手

场景一:文本清洗(5 分钟)

假设你有一段包含邮箱、URL 和多余空白的文本,想快速清理。

  1. 在主页点击 正则批量替换 卡片进入工具,默认处于「文本模式」。

    TODO: 截图 — 工具默认主界面

  2. 点击 显示预设(如已显示则跳过),然后点击 添加预设 → 选择「默认预设」(或新建一个)。

    TODO: 截图 — 添加预设下拉菜单

  3. 点击 管理规则 打开预设管理器。

  4. 在右侧编辑区输入:

    • 规则名称:移除 URL
    • 正则表达式https?://[^\s]+
    • 替换内容[链接已移除]

      TODO: 截图 — 规则编辑界面

  5. 测试输入 框里粘贴样例文本,右侧会实时显示替换预览。

    TODO: 截图 — 实时预览高亮效果

  6. 点击 添加规则 继续添加:

    • 规则名称:压缩空白
    • 正则\s+
    • 替换(一个空格)
    • 多行模式:勾选 g 标志(JS 引擎会默认添加 gm 标志)
  7. 回到主界面,在 输入文本 框粘贴待处理内容,输出文本 面板会自动显示处理结果。

    TODO: 截图 — 输入/输出对比

  8. 点击 复制发送到聊天 使用处理结果。

场景二:批量处理文件

  1. 将顶部的 处理模式 切换为「文件模式」。

    TODO: 截图 — 模式切换按钮

  2. 通过拖拽或点击按钮,添加要处理的文件/文件夹。

    TODO: 截图 — 文件模式界面,带拖拽高亮

  3. 设置 输出目录(处理后的文件将保存在此)。

  4. 可选:添加 文件名后缀(如 _processed),避免覆盖原文件。

  5. 点击 开始处理文件,工具将调用 Rust 后端引擎执行批量替换。

    TODO: 截图 — 处理中/完成状态


功能详解

① 顶部操作栏

区域说明
处理模式「文本模式」用于即时处理输入内容;「文件模式」用于处理磁盘上的文件
显示/隐藏预设切换预设选择区域的可见性
查看日志打开日志弹窗,显示规则应用记录和错误信息(有错误时会显示徽章)
管理规则打开预设管理器弹窗,进行规则的增删改查和测试

② 预设系统

预设是一组正则规则的集合,按顺序依次应用。支持:

  • 添加预设:从已有预设列表中选择,预设按添加顺序排列
  • 拖拽排序:通过拖拽预设标签调整应用顺序

    TODO: 截图 — 预设标签拖拽排序

  • 移除预设:点击预设标签上的 ✕ 按钮
  • 状态持久化:选中的预设和排序会在重新打开工具后自动恢复

③ 文本模式

  • 输入文本:支持直接输入、粘贴(Ctrl+V)或从剪贴板读取
  • 一键处理:点击「一键处理」按钮,自动从剪贴板读取 → 应用规则 → 写回剪贴板
  • 输出文本:只读文本框,输入变化或预设变化时自动实时更新
  • 发送到聊天:将处理结果直接发送到 LLM 聊天输入框

④ 文件模式

参数说明
待处理文件支持拖拽或 选择文件/选择文件夹 添加;每个文件显示处理状态(待处理/处理中/成功/失败)
输出目录处理后的文件保存目录,支持拖拽设置
文件名后缀在原文件名后添加后缀(如 log_cleanlog_clean.txt
强制 .txt忽略原始扩展名,统一保存为 .txt 格式
处理后清除处理成功的文件自动从列表移除

⑤ 预设管理器(管理规则弹窗)

TODO: 截图 — 预设管理器全貌

左侧面板 — 预设与规则列表:

操作说明
预设选择器下拉切换当前编辑的预设
新建 / 复制 / 重命名 / 删除预设的完整生命周期管理(至少保留一个预设)
从文件导入选择 .json 文件导入预设
从剪贴板导入粘贴 JSON 格式的预设或规则数组
导出预设将当前预设保存为 .json 文件
规则列表显示预设中的所有规则;支持拖拽排序、关键词搜索、启用/禁用开关、快速删除
添加规则为当前预设新增一条空规则

右侧面板 — 规则编辑与测试:

区域说明
规则名称可选,便于识别规则用途
正则表达式支持 /pattern/flags 语法教程;验证失败时显示具体错误
Rust 兼容性实时检测正则是否能在 Rust 后端执行(影响文件模式)
快捷规则18 种常用模式,点击直接插入到正则输入框的光标位置
替换内容支持捕获组引用 $1$2
测试输入输入样例文本,实时查看匹配次数和替换结果,匹配项高亮显示
输出预览显示替换后的文本,替换内容以绿色高亮

TODO: 截图 — 规则测试区,展示匹配高亮


高级用法

组合场景:清洗+格式化一条龙

创建一个预设,包含以下规则链:

  1. ^[ \t]+""(移除行首空白)
  2. \s+$""(移除行尾空白)
  3. \r\n\n(统一换行符)
  4. \n{3,}\n\n(压缩多余空行)

这样一条规则链就变成了一个「文本清洗工坊」,每次只需选择预设 → 粘贴 → 一键处理。

批量替换实战

假设你要批量处理 src/ 下的所有 Markdown 文件:

  1. 创建预设:「替换内部链接」
    • 规则:\]\(\.\.\/]((将相对路径 ../ 替换为当前目录)
  2. 切换到文件模式,添加 src/ 文件夹
  3. 设置输出目录为 src_clean/
  4. 设置后缀 _cleaned
  5. 点击处理

Rust 引擎会在几秒内处理所有文件,并在日志中显示每项操作详情。

正则语法提示

工具支持标准 JavaScript 正则语法/pattern/flags 格式):

标志含义
g全局匹配(默认启用)
m多行模式(默认启用)
i忽略大小写
s点号匹配换行符

常用捕获组引用

  • $1, $2 — 按顺序引用捕获组
  • $& — 匹配的完整文本
  • `$`` — 匹配前的文本
  • $' — 匹配后的文本

常见问题

Q:为什么我的规则在文本模式有效,文件模式却失效了?

A:可能是正则语法在 Rust 后端不兼容。JS 和 Rust 的正则引擎有差异(如 Rust 不支持前瞻 (?=...) 和后瞻 (?<=...))。在管理规则时,右侧会显示 Rust 兼容性 状态标签,如果标记为「不兼容」,文件模式将跳过该规则。建议在文件模式中避免使用前瞻/后瞻断言。

Q:文件处理到一半中断了,已经修改的文件会怎样?

A:Rust 引擎采用顺序处理(逐文件读取 → 应用规则 → 写入),处理成功的文件会完整写入输出目录。中断时,已成功处理的文件不受影响,未处理或处理中的文件需要重新执行。

Q:如何分享我的预设给其他人?

A:在预设管理器中打开预设,点击 导出预设 保存为 .json 文件。接收者在同一页面点击 从文件导入从剪贴板导入 即可使用。

Q:一键处理(粘贴 → 处理 → 复制)为什么没有弹出提示?

A:一键处理会直接操作系统剪贴板,处理完成后会弹出成功提示。如果没有任何反应,请检查:

  1. 是否已选中至少一个预设
  2. 剪贴板中是否有文本内容
  3. 查看日志面板是否有错误信息

Q:我可以对同一个预设中的规则调整执行顺序吗?

A:可以。在预设管理器的左侧规则列表中,直接拖拽规则卡片即可调整顺序。规则从上到下依次执行,前面的输出会作为后面的输入。

Released under the Apache-2.0 License.