← 返回正则工作台

正则工作台

使用当前浏览器原生 ECMAScript 正则,测试提取与批量替换。原文、表达式和结果都留在本机。

匹配与捕获组

表达式直接填写内容,不带两侧 /。g 搜索全部,i 忽略大小写,m 为多行锚点,s 允许点号匹配换行,u 或 v 开启 Unicode 规则,y 为粘连匹配。u 与 v 互斥;旧浏览器不支持的语法会明确报错。d 索引功能在内部开启;输入标志不能重复。未选择 g 时只显示第一项。

结果列出匹配正文、编号与命名捕获组,区分空字符串和未参与匹配。索引按 JavaScript UTF-16 代码单元,从 0 开始,使用含起点、不含终点的区间;emoji 可能占两个代码单元。零宽匹配显示竖线,Unicode 模式按完整码点推进,不会卡在同一位置。

替换与导出

替换模板支持 $1、$2、$<name>、$&(完整匹配)、$$(美元符号)、$`(匹配前内容)和 $'(匹配后内容)。未选 g 只替换第一项,模板留空删除匹配内容。模板中的 \n 是普通反斜杠加 n,要插入换行可直接在模板中换行;不执行自定义 JavaScript。

点击「替换结果」检查完整结果,再复制或下载。匹配 JSON 包含全部匹配、捕获组、索引、表达式和标志。匹配每页 50 项,高亮只预览该页附近最多 10000 字符,长正文预览缩短,导出保留全文。

限制与安全

输入最多 1 MiB,正则最多 10000 字符,最多 10000 项匹配、单项 1000 个捕获组、合计 50000 条匹配与捕获记录,匹配导出正文与替换结果各最多 4 MiB。超过限制会报错,不把部分结果当作完整结果;替换前会预算长度,防止反复插入前后文耗尽内存。后台计算超过约 2.5 秒会终止,可修改后重试;取消不会冻结页面。当前工具不模拟 Python / PCRE / Java 的正则语义,生产使用前仍需在目标运行时验证。页面不自动存储内容,修改输入后需重新运行。

帮我完善这个工具

用着哪里别扭、想要什么功能、发现了 bug —— 都欢迎告诉我。

想让我回复你?直接邮件我:linsuwei_mic@outlook.com