跳到正文

查找与替换

Find & Replace

按字面、整词或正则表达式替换文本,支持捕获组,并把每一处命中先预览出来。

在整篇文档里查找替换,复制出去之前先显示匹配数、受影响的行和替换前后的预览。支持纯文本、整词和完整的正则表达式,替换内容里还能用 sed 风格的大小写转换。

🔒 完全在你的浏览器里运行replaceregexeditbatch

文本

查找与替换

匹配方式

1个捕获组——在替换栏里用 $1 引用。

结果

命中数

3

替换数

3

受影响的行

3

长度

56 → 62

逐行查看

行替换前替换后
2A-1001,王伟,12000ORD-1001,王伟,12000
3A-1002,李娜,8500ORD-1002,李娜,8500
4A-1003,张敏,23000ORD-1003,张敏,23000

替换栏认得的写法

  • $1, ${1}, $<name> ——捕获组
  • $& ——整个命中; $$ ——美元符号本身
  • \n, \t, \u0041 ——真正的字符
  • \U…\E, \L…\E ——转成大写、小写,和 sed、vim 里一样

怎么用

  1. 选择匹配方式

    纯文本会转义所有字符,所以搜 a.b 找到的是 a.b 而不是 axb。整词使用 Unicode 字母边界。正则给你完整的引擎。

  2. 在替换内容里使用分组

    $1 和 $<name> 插入模式捕获的内容;$& 是整个匹配。\U 和 \L 到 \E 为止转换大小写,和 sed、vim 一样。底部面板列出了全部写法。

  3. 读逐行预览

    每一受影响的行都显示替换前后,你就是在这里发现替换也碰到了不想碰的东西。

常见问题

\b中文\b 为什么什么都匹配不到?

因为 \b 定义在 ASCII 单词字符与其他字符之间,而汉字不是 ASCII 单词字符——所以 中文 周围任何地方都没有边界。用这里的"整词"模式,它改用 Unicode 字母边界。

输入模式后页面卡死了

灾难性回溯——像 (a+)+ 这样给一个本身会重复的分组再加量词,在几乎匹配的文本上耗时呈指数增长。匹配发生在一次浏览器无法打断的调用里。这种形状的模式在运行前会显示警告。

能用 \p{Han} 吗?

能,只要模式以 unicode 标志编译——除非模式里有别的部分与该标志不兼容,否则都会这样编译。如果结果面板说不是这样,那就是属性转义失效的原因。

到 20,000 个匹配就停了

这是上限,到此为止的结果是完整的。把文档拆开,或者把模式收窄——两万个匹配通常意味着模式匹配到的比你想要的多。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。