← 全部工具

数据不出浏览器

在线查找与替换(支持正则)

免费 find and replace。支持普通字符串或正则,批量替换文本。

让查找替换不出意外

字面替换安全但能力有限。正则替换威力大、破坏力也大:没有锚定的模式会改写你并不想动的子串,而反向引用在分组没有参与匹配时会静默地替换成空。

先测试,再替换。先用「匹配」跑一遍模式,确认它只选中目标文本(包括该「一个都不选」的情况)。模式匹配过多的问题,在替换之前修远比在替换之后改便宜得多。

两个转义引发了多数事故:点号匹配任意字符,所以 version.1 也会匹配 version21;替换串里的美元符号是分组引用而不是字面美元。用 ^ 或词边界锚定,能把大多数误替换变成无操作。

常见问题

正则怎么用?
勾选正则后按 JavaScript RegExp 语法编写模式。
区分大小写?
可开关;关闭时不区分大小写匹配。
会上传吗?
不会。
替换时怎么使用捕获分组?
把要保留的部分用括号包起来,在替换串里用 $1、$2 引用。捕获到的文本会原样插入,所以没有匹配到的分组会留下空位而不是报错——在全量应用之前,先拿样本确认一下。
为什么替换改动的地方比预期多?
常见原因是没转义的点号或缺少锚定。点号匹配任意单个字符,所以本意针对 version.1 的模式也会命中 version21;没有 ^ 或词边界时,匹配还能从行的任意位置开始。请转义点号并加上锚定。
查找替换能跨行吗?
只在显式开启多行模式时可以,默认是逐行处理的。不开多行模式时,看起来跨行的模式会「一个都匹配不到」——这比匹配过宽更常见。

相关工具