实用小工具 · 正则测试器
正则表达式测试
输入正则 + 测试文本,实时高亮显示所有匹配,列出每条匹配的捕获组。支持 g/i/m/s/u/y 全部 JavaScript flags。完全本地运行,数据不上传。
//g
标志位
示例:···
测试文本
高亮预览命中 3 处
联系方式:tom@example.com 或 jerry@demo.org 邮箱列表请发到 support@miguya.cn
匹配明细
#1位置 5 - 20
完整:
tom@example.com组 1
tom组 2
example.com#2位置 23 - 37
完整:
jerry@demo.org组 1
jerry组 2
demo.org#3位置 46 - 63
完整:
support@miguya.cn组 1
support组 2
miguya.cn操作流程
3 步完成处理
1
写正则
不需要 / 斜杠,直接写表达式
2
勾标志位
g 全局 / i 忽略大小写 / m 多行 等
3
贴文本
所有匹配自动高亮 + 列出分组
产品优势
为什么选择我们
实时高亮
边输入边匹配,所有命中段落黄色高亮,定位一目了然。
分组捕获
每条匹配都展开列出所有 ( ) 捕获组,包括命名分组。
错误提示
正则语法错会精准提示,避免一头雾水。
完全本地
基于浏览器原生 RegExp,正则和文本都不会上传服务器。
常见疑问
使用前看这里
支持哪些语法?
完全跟随浏览器的 JavaScript RegExp,即 ECMAScript 正则规范。包括 lookahead/lookbehind、命名分组、Unicode 属性等。
和 PCRE / Python 正则差别大吗?
大部分语法兼容,但有些特性 JS 没有(如递归正则)。如果你要写 PHP / Python 正则,本工具能验证大部分但少数高级特性需到目标平台再验。
为什么我加 g 后只匹配第一个?
不加 g(全局)RegExp.exec 只返回第一个匹配。本工具默认勾 g,确保看到所有匹配。
什么是命名分组?
写成 (?<name>...) ,命中后可以按名字而不是序号取值。本工具会同时显示序号和名字。
能保存常用正则吗?
目前不存,刷新页面会清空。如果有强需求告诉我可以加。
为什么我的中文不匹配?
检查是否启用 u 标志(Unicode 模式),否则 . 不会跨代理对、\w 不含中文。一般中文匹配建议加 u + 用 \p{Script=Han} 这种 Unicode 属性。