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

正则表达式提取测验正确答案追加到分隔线后匹配错误求助

正则匹配追加正确答案解决方案

原正则错误原因

  • 你使用了单行模式(?s)下的贪婪匹配.*,默认会匹配尽可能长的文本,直接命中整个文档最后一个xxxxxxxxxxxx分隔符,导致全局匹配而非按单题拆分匹配。

正确实现方案

查找规则(Textpad兼容)

(?s)([A-D]:\s*.*?)correct(.*?xxxxxxxxxxxx)

规则说明:

  • (?s):开启单行模式,允许.匹配换行符
  • ([A-D]:\s*.*?):第一个捕获组,匹配正确选项的前缀内容(如B: green),惰性匹配保证只抓取到correct前为止
  • correct:匹配正确选项末尾的专属标记
  • (.*?xxxxxxxxxxxx):第二个捕获组,匹配correct之后到当前题目的分隔线为止的所有内容,惰性匹配保证不会跨到下一题的范围

替换规则

\1correct\2 \1

规则说明:

  • \1correct\2:原样还原匹配到的所有原始内容(包括带correct标记的选项、分隔线之前的所有内容)
  • 末尾追加 \1:直接把去掉correct后缀的正确选项拼接在分隔线之后,完全符合需求

核心问题解答

你想要在查找规则未显式指定的位置追加内容,本质只需要做到两点:

  1. 把所有需要保留的原始内容全部放进捕获组,替换时先原样输出所有捕获内容
  2. 把匹配范围的终点精确控制在你要追加内容的位置(这里就是分隔线的末尾),之后直接在替换规则的末尾拼接你要新增的内容即可,不需要在查找规则里额外显式匹配待追加的位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:15:03