正则表达式测试
边写边看高亮结果,支持捕获分组、命名分组、替换预览与常用正则速查库。
🔒 本地运行🔥 热门
//
✔ 正则合法 · 共 3 处匹配 · 耗时 0.1 ms
测试文本98 字符 · 2 行
高亮结果3 处匹配
订单 A1001 创建于 2026-09-09,预计 2026-09-15 发货;
上一单 2025-12-31 已完成,联系电话 13800138000,邮箱 sourcekit@qq.com。
匹配明细(含捕获分组)
| # | 位置 | 完整匹配 | 分组 |
|---|---|---|---|
| 1 | 13 | 2026-09-09 | $12026 $209 $309 |
| 2 | 27 | 2026-09-15 | $12026 $209 $315 |
| 3 | 46 | 2025-12-31 | $12025 $212 $331 |
本工具能做什么
边写边看高亮结果,支持捕获分组、命名分组、替换预览与常用正则速查库。
匹配测试:实时高亮,奇偶色区分相邻匹配,显示 N 处匹配徽标与耗时
分组明细表:每处匹配的位置、完整内容、$1/$2… 及命名分组逐条展示
替换预览:支持 $1、$&、$<name> 引用,左右对照、一键复制、结果转原文
标志开关:g / i / m / s / u 逐项可勾选,非法正则即时红字报错
常用正则库:手机号/邮箱/身份证/IPv4/URL/日期/中文/强密码/车牌等 14 条
语法速查:字符量词、分组断言两张速查表,写正则不用翻文档
安全保护:防空匹配死循环、限制 5000 次与 800ms 超时中断
适用场景
- 开发调试时编解码转换
- 生成测试数据和唯一 ID
- 正则表达式快速验证
常见问题
为什么我的正则跑一半就卡死了?
大概率踩了灾难性回溯,典型写法是 (a+)+b 或嵌套的 (.*)*。改法:把嵌套量词拆开、用具体字符集替代 .*、能用非捕获分组就别用捕获分组。本工具对超时匹配会自动中断保护。
身份证 / 手机号正则要写多严?
前端只做「格式初筛」,真正的校验要靠身份证校验位算法与短信验证码。号段正则写太死,运营商放新号段时就会误杀真实用户。
Java / Python 的正则能直接复制过来吗?
大部分能。注意差异:Java 字符串里反斜杠要双写 \\d;Python 用 (?P<name>) 而 JS 用 (?<name>);JS 早期不支持后顾断言,老浏览器需谨慎。
g 标志会带来什么坑?
带 g 的正则对象有 lastIndex 状态,复用同一个实例反复调用 test() 会得到交替的 true/false。要么每次新建,要么手动重置 lastIndex。