常见问题
支持正则表达式吗?
支持,勾选正则模式后可用分组引用(如 $1)在替换内容里回填捕获的片段。
能只替换第一处吗?
可以,取消「全部替换」就只替换第一个匹配项,适合改标题里的特定一处。
替换次数会显示吗?
会实时统计,可以据此确认有没有漏替或误替。
关于这个工具
两种模式的差别只有一处:普通模式会把查找内容里的正则元字符(. * + ? ^ $ ( ) [ ] { } | \)自动转义,输入「价格(元)」就按字面匹配;正则模式不转义,直接把输入当成模式编译,写错了会红字提示「正则错误」并把引擎给的原因带出来,而不是静默返回原文。
一个最容易踩的点:替换内容里的 $ 永远是特殊字符,与是否正则模式无关 —— 因为最终走的是 String.replace。普通模式下填 $1 不会插入字面的「$1」,而是引用第一个捕获组(普通模式没有捕获组,结果就是空);想输出字面的美元符号写 $$,想插入整段匹配写 $&。「替换成 100$」变成「100」就是这个原因。
模式内容只写表达式本身,不要带 /.../gi 的斜杠和标志位 —— 忽略大小写、是否全部替换由两个复选框控制,写进表达式里会被当成字面字符去匹配。替换是单次遍历,不会对替换结果再跑一遍,所以 A→B、B→A 这类互换不会死循环,但也没法一步做完(要先换成中间占位符,再换第二次)。
「全部替换」默认勾选,取消后只换第一处;替换次数按实际匹配统计,开了忽略大小写时 ABC 与 abc 都计入。查找框是单行的,普通模式无法匹配换行;要跨行替换请开正则模式,用 \s+ 或 [\s\S]*?。