查找与替换
Find & Replace
按字面、整词或正则表达式替换文本,支持捕获组,并把每一处命中先预览出来。
在整篇文档里查找替换,复制出去之前先显示匹配数、受影响的行和替换前后的预览。支持纯文本、整词和完整的正则表达式,替换内容里还能用 sed 风格的大小写转换。
文本
查找与替换
1个捕获组——在替换栏里用 $1 引用。
结果
命中数
3
替换数
3
受影响的行
3
长度
56 → 62
逐行查看
| 行 | 替换前 | 替换后 |
|---|---|---|
| 2 | A-1001,王伟,12000 | ORD-1001,王伟,12000 |
| 3 | A-1002,李娜,8500 | ORD-1002,李娜,8500 |
| 4 | A-1003,张敏,23000 | ORD-1003,张敏,23000 |
替换栏认得的写法
$1,${1},$<name>——捕获组$&——整个命中;$$——美元符号本身\n,\t,\u0041——真正的字符\U…\E,\L…\E——转成大写、小写,和 sed、vim 里一样
怎么用
选择匹配方式
纯文本会转义所有字符,所以搜 a.b 找到的是 a.b 而不是 axb。整词使用 Unicode 字母边界。正则给你完整的引擎。
在替换内容里使用分组
$1 和 $<name> 插入模式捕获的内容;$& 是整个匹配。\U 和 \L 到 \E 为止转换大小写,和 sed、vim 一样。底部面板列出了全部写法。
读逐行预览
每一受影响的行都显示替换前后,你就是在这里发现替换也碰到了不想碰的东西。
常见问题
\b中文\b 为什么什么都匹配不到?
因为 \b 定义在 ASCII 单词字符与其他字符之间,而汉字不是 ASCII 单词字符——所以 中文 周围任何地方都没有边界。用这里的"整词"模式,它改用 Unicode 字母边界。
输入模式后页面卡死了
灾难性回溯——像 (a+)+ 这样给一个本身会重复的分组再加量词,在几乎匹配的文本上耗时呈指数增长。匹配发生在一次浏览器无法打断的调用里。这种形状的模式在运行前会显示警告。
能用 \p{Han} 吗?
能,只要模式以 unicode 标志编译——除非模式里有别的部分与该标志不兼容,否则都会这样编译。如果结果面板说不是这样,那就是属性转义失效的原因。
到 20,000 个匹配就停了
这是上限,到此为止的结果是完整的。把文档拆开,或者把模式收窄——两万个匹配通常意味着模式匹配到的比你想要的多。
可以从这些接进来
大小写与命名法转换
Case Converter
在全大写、全小写、标题式、句首大写、camelCase、snake_case、kebab-case 和 CONSTANT_CASE 之间转换。
文本脱敏
Text Anonymiser
在自由文本里找出邮箱、银行卡号、IP 地址和韩国格式的身份证号、电话号码、营业执照号,把它们遮蔽或换成假名。
模式提取
Pattern Extractor
从一大段文本里把所有邮箱、网址、数字、日期或自定义正则的命中项抽成一份列表。
正则表达式测试
Regex Tester
把正则跑在示例文本上,实时高亮命中的部分并列出捕获组。
接下来
这些工具吃得下当前工具的产出,结果可以直接送过去。
正则表达式测试
Regex Tester
把正则跑在示例文本上,实时高亮命中的部分并列出捕获组。
文本脱敏
Text Anonymiser
在自由文本里找出邮箱、银行卡号、IP 地址和韩国格式的身份证号、电话号码、营业执照号,把它们遮蔽或换成假名。
大小写与命名法转换
Case Converter
在全大写、全小写、标题式、句首大写、camelCase、snake_case、kebab-case 和 CONSTANT_CASE 之间转换。
模式提取
Pattern Extractor
从一大段文本里把所有邮箱、网址、数字、日期或自定义正则的命中项抽成一份列表。
Markdown 编辑器
Markdown Editor
边写边预览 Markdown,可导出渲染后的 HTML,支持 GFM 表格和任务列表。
字数统计
Word & Character Counter
统计含空格和不含空格的字符数,以及单词、行、段落和 UTF-8 字节数。