正则表达式在线测试

文本处理 完全免费 🔒 本地处理不上传 🕘 历史记录 📥 离线可用 🌙 支持黑夜模式

写正则最怕靠猜:这个工具让你边写边看——输入表达式即刻高亮全部匹配、逐条列出分组捕获内容、直接验证替换结果,还能一键套用邮箱、手机号、URL 等常用模板。

类别程序员 · 文本处理
运行方式纯前端 · 离线运行
正则引擎JavaScript RegExp(ES2018 语法)
数据存储仅本地 localStorage,不上传服务器

🎯 在线测试

只填表达式主体,不要加首尾斜杠;表达式改动后结果实时刷新。

✅ 匹配结果 命中内容已高亮,下方列出分组捕获
输入正则和文本后自动匹配

📚 常用正则模板

点击任意模板即可填入表达式与修饰符

🕘 历史记录

核心特性

输入即匹配,命中片段实时高亮
分组捕获结果逐条列出
替换模式支持 $1、$& 等引用
支持 g / i / m / s / u / y 全部修饰符
10+ 常用正则模板一键套用
匹配数量与分组数量实时统计
本地历史记录,一点即恢复
支持黑夜模式与离线使用

为什么需要在线正则测试工具?

正则表达式写起来容易出错:.* 到底贪婪到哪里、(...) 捕获的是哪一段、加不加 g 有什么区别,靠肉眼几乎判断不了。在线正则测试的价值就是「所见即所得」——把表达式和文本放在一起,匹配到哪一段、捕获了哪些分组,一眼看清。

本工具使用浏览器原生的 JavaScript RegExp 引擎,语法与你在 String.prototype.match、replace 里写的完全一致,因此调试结果可以直接搬进代码使用。修改表达式、修饰符或测试文本时结果会实时刷新,无需点击任何按钮。切到替换模式后,还能验证 $1、$& 这类引用是否写对。

所有计算都在你的浏览器内完成,输入的文本不会上传到服务器,处理内部日志、脱敏数据时也能放心使用。

怎么用

  1. 输入正则表达式
    在「正则表达式」框中填写表达式主体,不要带首尾斜杠,例如 [a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}。
  2. 设置修饰符
    右侧「修饰符」框填入 g、i、m、s、u 等标志,最常用的组合是 g(全局)与 gi(全局且忽略大小写)。
  3. 粘贴测试文本
    把待匹配的文本贴进文本框,命中片段立即高亮;若表达式有语法错误,状态条会直接给出提示。
  4. 检查分组捕获
    结果区下方会列出第 1 个匹配的各分组内容,用来确认 (...) 的边界是否正确。
  5. 验证替换结果
    点击「🔧 替换」切换模式,填入替换文本(支持 $1、$& 引用),实时查看替换后的完整文本。
  6. 套用常用模板
    不确定怎么写时,从「常用正则模板」里点选邮箱、手机号、URL、IPv4、日期、身份证等模板,套用后再微调。

使用技巧

  • \d 是数字、\s 是空白、\w 是字母数字下划线;在 JS 字符串里书写要写成 \\d。
  • 匹配中文可用 [\u4e00-\u9fa5];想匹配更完整的汉字集合,用 \p{Script=Han} 并开启 u 修饰符。
  • 贪婪的 .* 尽量换成 .*?,或在两端加上锚点,否则容易一口气吞掉整行。
  • 不加 g 只匹配第一处;加了 g 后配合 exec 循环才会拿到全部结果。
  • 文本很长时先裁剪出最小复现场景,正则调试效率会高很多。

更新记录

  • v1.0 2026-08-31 首次上线:实时匹配高亮、分组捕获、替换测试、常用正则模板库与本地历史记录。

常见问题

这个正则测试工具安全吗?会把我输入的文本上传吗?
不会。匹配、替换、统计全部在你的浏览器内用 JavaScript RegExp 完成,正则与文本不会发送到任何服务器。唯一在本地保存的是历史记录,存放在你浏览器的 localStorage 中,清空浏览器数据即会消失。
为什么我的正则在别处能用,在这里却报错?
本工具使用 JavaScript(ECMAScript)正则引擎,与 Java、Python、PHP、Go 的语法存在差异。例如 Python 的命名分组 (?P<name>...)、PCRE 的原子组 (?>...) 在 JS 中都不支持。若要在其他语言中使用,请确认语法兼容性。
修饰符 g、i、m、s、u 分别代表什么?
g 全局匹配(找出全部结果而不止第一处);i 忽略大小写;m 多行模式,让 ^ 与 $ 匹配每一行的首尾;s 让 . 也能匹配换行符;u 开启 Unicode 模式,支持 \p{...} 并正确处理代理对。
替换时如何保留原匹配内容?
在替换文本里写引用即可:$1、$2 代表第 1、2 个分组,$& 代表整个匹配内容。例如把手机号中间四位打码可以写成 $1****$3。
为什么总是匹配不到内容,或者提示语法错误?
先检查是否误用了其他语言的语法,再确认转义是否正确(把 \d 写成 d 就变成匹配字母 d 了)。表达式本身正确却匹配不到,通常是修饰符问题:漏了 g、大小写不一致,或文本里含有全角字符。
历史记录保存在哪里?会占用很多空间吗?
保存在浏览器 localStorage 中,仅保留最近 20 条,每条只记录表达式与一小段文本预览,占用极小。点击历史条目可一键恢复到输入框,清空浏览器数据时会一并清除。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码