正则表达式测试
文本处理所有处理都在浏览器本地完成,数据不上传服务器
测试文本
匹配高亮
捕获组
替换预览
常用正则速查
匹配与替换都在浏览器本地完成,正则与文本都不会上传。
在浏览器里调正则:写一行就高亮一行,捕获组连名字一起列出来,填上替换串就能预览整段文本被替换后的样子。工具对灾难性回溯做了保护 —— 像 (a+)+ 这种模式在长文本上会让标签页失去响应,所以它会被静态识别出来并拒绝在长文本上执行,同时把原因讲清楚,而不是假装算完了。
功能
- 实时高亮每一处匹配,零宽匹配(\b、(?=x))也会单独标出位置
- 捕获组表格:组号、具名组的名字、值,未参与的组如实留空
- 替换预览:支持 $1、$&、$<name>,一律按全局替换预览
- g / i / m / s / u 五个 flag 独立开关,行为与 JavaScript 引擎完全一致
- ReDoS 保护:识别嵌套量词与量词化的分支,长输入上停止执行并说明原因
- 如实提示边界:输入超过 10 万字符、匹配超过 2000 处、扫描超过 120 毫秒都会告知
- 内置常用正则速查(邮箱、网址、IPv4、日期、时间、汉字、手机号、颜色、标签等),点一下填入并附示例文本
使用方法
- 在两条斜杠之间输入正则,按需勾选 flag
- 把测试文本粘贴到左侧,匹配结果实时高亮
- 需要替换时填上替换串,下方显示替换后的完整结果
- 从「常用正则速查」里点一条,可以立刻套用并看到效果
常见问题
- 为什么我的正则没有结果?
- 如果文本很长、而模式里出现了嵌套量词(如 (a+)+、(\d+\s?)*),工具会停止执行并给出提示。这类模式在长文本上会发生灾难性回溯,跑下去会让标签页几秒到几十秒无响应。请先用短文本验证模式,或把嵌套量词改写成不含嵌套的形式。
- 为什么提示「未开启全局」?
- 正则不带 g 时,JavaScript 只会返回第一个匹配。这是引擎的真实行为,工具如实照做,不会偷偷替你补上 g —— 否则你在这里测通了,复制到代码里却是另一个结果。
- 超长文本会被截断吗?
- 会。超过 10 万个字符时只扫描前一段,并在页面上明确说明。这是为了保住页面响应速度 —— 同步的正则一旦开始执行就无法中断,只能从输入规模上设限。
- 我的正则和文本会被上传吗?
- 不会。匹配与替换全部在浏览器里完成,页面不发送任何请求,断网也能用。
相关工具
文本清洗
文本处理清洗从日志或表格里复制出来的一列内容:去重行、排序、去空行、去首尾空白、去行号、合并多空格,规则逐条开关。粘贴的内容只在本机处理。
文本对比
文本处理把两份文本逐行对比,高亮标出新增、删除与未改动的行,改动按最小差异对齐,而不是整段标成变了。全部在浏览器本地完成,内容不上传。
字数统计
文本处理中英混排的文本到底有多长?中文按字、英文按词分开统计,再给出字符数、行数、字节数与阅读时长。全部在浏览器本地完成,不上传。
命名风格转换
文本处理在八种命名风格之间转换标识符,拆词时认得 fooBarBaz 与 FOO_BAR 这类混写,连续大写也会按词拆开。全部在浏览器本地完成,不上传。
简繁转换
文本处理在简体与繁体之间互转中文,常用词整词替换,其余字取最常见写法,因此个别字词仍需人工核对。全部在浏览器本地完成,不上传。
Markdown 预览
文本处理左栏写 Markdown、右栏实时渲染;粘进来的 HTML 只会当文本显示,图片也不会向外发请求。全部在浏览器本地完成,内容不上传。