正则表达式测试器 使用指南
「\d{3}-\d{4}」 匹配 「123-4567」,高亮并列出分组。
核心功能
- 实时测试正则表达式并高亮匹配结果
- 可切换 flags(i / g / m / s 等)
- 带替换预览,支持 $1、$2 分组引用
- 匹配与替换结果分开显示,便于调试
适用场景
- 实时测试正则匹配与捕获组。
- 上线前先把正则放进真实样本里试:确认既不会漏掉合法输入,也不会误匹配非法输入,再写进代码。
使用步骤
- 在正则框填入表达式(不含两侧的斜杠)
- 设置 flags:跨行文本通常要开 m 或 s,全局替换要开 g
- 在测试文本区粘贴样例,观察高亮是否命中预期位置
- 在替换区填替换串,用 $1、$2 引用捕获组,确认替换结果
- 若出现卡死或耗时过长,检查是否有嵌套量词导致的灾难性回溯
实用技巧
- 解决办法是避免嵌套量词、改用更具体的字符类,或用原子组/独占量词(视引擎支持)
- 用户可控的正则应设超时保护
常见问题
- 如何全局匹配?
- 加 `g` 标志遍历所有匹配。
- 为什么匹配卡住了?
- 很可能是灾难性回溯:嵌套量词(如 (a+)+)在遇到长而不匹配的字符串时,尝试次数会指数级增长,导致 CPU 打满。解决办法是避免嵌套量词、改用更具体的字符类,或用原子组/独占量词(视引擎支持)。用户可控的正则应设超时保护。