# 正则处理功能使用教程

正则处理是一项用来「自动找词并替换」的实用功能。开启后,系统会在发送到 AI 前或保存到聊天记录前,按您设定的规则,自动改写文本内容,让对话更整洁、更安全、更符合您的习惯。

# 你能用它做什么

  • 统一文本格式:去掉多余空格、修复标点、清理多余前后缀
  • 优化内容展示:移除不需要的“思考块”、隐藏敏感信息
  • 批量替换用词:将某些词语自动替换为您更偏好的表达
  • 简化清理工作:在保存前自动净化文本,减少后续整理

# 入口与开启

正则处理功能现在可以在两个地方进行设置:

# API 设置

  1. 打开设置菜单
  2. 进入「API 设置」
  3. 找到「正则处理设置」
  4. 打开开关「启用正则处理」

# 角色专属设置

  1. 进入角色列表
  2. 选择要编辑的角色
  3. 在角色配置界面找到「正则处理设置」
  4. 打开开关「启用正则处理」

角色专属的正则规则只对该角色生效,而 API 设置的规则对所有所用该 API 的对话生效。开启后,您可以管理自己的正则规则列表。

# 正则规则列表

正则规则列表现在支持分组管理功能:

  • 分组筛选:在规则列表顶部可以选择查看特定分组的规则,或查看所有规则
  • 添加规则:点击「添加规则」创建一条新规则
  • 开关规则:在列表中开启/关闭某条规则
  • 编辑规则:点击规则进入编辑界面,修改后保存
  • 删除规则:在规则项中选择删除
  • 分组显示:每个规则会显示其所属分组(如果有设置)
  • 深度信息:规则会显示其深度限制范围(如果有设置)

当「正则处理」开启时,系统会逐条应用已启用的规则。

# 添加/编辑一条规则

进入「添加/编辑正则规则」界面后,您会看到以下内容:

  • 名称:给规则起个易识别的名字(例如:去空格、移除思考块)
  • 查找正则表达式:要"匹配"的内容规则(可以简单理解为"要找什么")
  • 替换字符串:把匹配到的内容替换成什么(可以使用捕获组,如 $1$2$<name>
  • 应用位置:选择规则生效的时机
    • 发送到 API 前(BEFORE_TO_API):在把内容发给模型前先处理
    • 保存到数据库前(BEFORE_TO_DATABASE):在把内容写入聊天记录前先处理
  • 分组:可选,为规则设置分组名称,便于管理和组织相关规则
  • 深度限制:可选,设置规则应用的深度范围
    • 最小深度:规则生效的最小深度值(留空表示无限制)
    • 最大深度:规则生效的最大深度值(留空表示无限制)
  • 启用:是否让这条规则生效

提示:如果您的替换字符串里用了 $1$2 这类"捕获组",它们会对应您正则表达式里的括号内容。支持命名捕获组 $<name>

# 内置测试与调试

创建或编辑规则时,您可以直接在界面里测试:

  1. 在「测试输入文本」中粘贴要测试的内容
  2. 点击「正则测试」按钮
  3. 在「替换结果」中查看系统将如何改写文本
  • 若没有匹配到内容,系统会提示「正则表达式没有匹配到任何内容」
  • 若表达式有误,系统会提示具体错误,方便您修正

建议先用小段文本测试,确认效果后再用于正式对话。

# 规则生效时机(如何选择应用位置)

  • 发送到 API 前:更适合处理您的输入文本(例如:统一格式、替换用词),让模型收到的内容更规范
  • 保存到数据库前:更适合对输出或完整消息进行“净化”(例如:移除不需要的块、隐藏敏感信息),让聊天记录更干净

您可以根据需求为同一主题设置两条规则,分别在不同阶段处理。

# 常见示例(直接可用)

  • 将多个空格合并为一个

    • 查找:\s+
    • 替换: (单个空格)
    • 位置:发送到 API 前
  • 去掉每行结尾的空白

    • 查找:\s+$
    • 替换:空(留空)
    • 位置:发送到 API 前
  • 统一术语(把"智能体"改为"AI 助手")

    • 查找:智能体
    • 替换:AI 助手
    • 位置:发送到 API 前
    • 分组:术语统一
  • 移除思考块(示例:删掉"【思考】…【/思考】"包裹的内容)

    • 查找:(?s)【思考】.*?【/思考】
    • 替换:空(留空)
    • 位置:保存到数据库前
    • 分组:内容清理
  • 保留括号内的内容并加引号(演示捕获组)

    • 查找:\(([^)]*)\)
    • 替换:"$1"
    • 位置:发送到 API 前
    • 分组:格式化
  • 深度限制示例(仅在对话深度 5-10 时应用)

    • 查找:特定词汇
    • 替换:替换词汇
    • 位置:发送到 API 前
    • 最小深度:5
    • 最大深度:10
    • 分组:深度控制

# 使用建议与注意事项

  • 先测试再启用:每次新增或修改规则后,都在测试区验证
  • 从简单开始:先用直观的替换,逐步尝试更复杂的匹配
  • 谨慎使用"全局匹配":复杂或范围过大的表达式可能影响性能
  • 不要忘记"应用位置":想处理输入还是保存前,选错位置可能见不到效果
  • 合理使用分组:通过分组功能将相关规则归类,便于管理和维护
  • 深度限制的使用
    • 深度通常指对话轮次或嵌套层级
    • 可以用来在对话的不同阶段应用不同的处理规则
    • 最小深度和最大深度都是可选的,可以只设置其中一个
  • 角色专属 vs API 规则
    • 角色专属规则优先级更高,适合特定角色的个性化处理
    • API 规则适合通用的文本处理需求
  • **结果不如预期?**检查是否需要转义(例如 \( 而不是 (),以及捕获组序号是否对齐

# 常见问题

  • 规则已启用但没有效果?

    • 确认应用位置是否正确
    • 检查是否在正确的设置位置(全局 vs 角色专属)
    • 测试区能否匹配到相同的文本片段
  • 测试提示"表达式错误"?

    • 检查括号是否成对、是否有遗漏的反斜杠
    • 从更简单的表达式开始,逐步完善
  • 替换后出现奇怪字符?

    • 检查替换字符串是否包含了未预期的符号
    • 如使用 $1 等捕获组,确认正则里有对应括号匹配
  • 分组功能相关问题?

    • 分组名称区分大小写
    • 可以为规则设置相同的分组名称来归类管理
    • 在规则列表中可以按分组筛选查看
  • 深度限制不生效?

    • 确认深度值设置是否正确(非负整数)
    • 最小深度不能大于最大深度
    • 深度限制主要用于对话轮次控制

现在就到「设置 → API 设置 → 正则处理设置」或「角色设置 → 正则处理设置」添加你的第一条规则吧。几分钟的配置,就能让对话更顺畅、更贴合你的偏好。