⌘K 切换工具
TEXT

正则表达式测试器

实时测试和调试正则表达式模式。

local
regex-tester

2 match(es)

#MatchIndexGroups
1[email protected]9
2[email protected]31
§01 关于此工具

概述

这个测试器随着你的输入,对测试字符串求值一条 JavaScript 正则。每个匹配都会列出 匹配到的文本、它在字符串中从 0 开始的位置,以及各个捕获组的值——这是在正则进入代码 之前调试它最快的办法。因为用的是浏览器原生的 RegExp,结果与你的 JavaScript 运行时的实际行为一致。

位置信息经常比匹配结果本身更有用:它能告诉你正则是不是从预期之外的地方开始匹配的, 也能暴露出贪婪量词吞掉了过多内容的情况。

使用方法

  1. Pattern 输入框里写表达式,不需要写两侧的斜杠。
  2. 勾选标志复选框:gimsuy
  3. 把示例输入粘贴到 Test string。匹配数量和结果表(# / Match / Index / Groups)会实时更新。

示例

说明

非法的正则会显示引擎给出的错误信息,而不是结果。匹配迭代上限为 10,000 次, 表格最多显示前 200 个匹配,因此病态的正则不会把页面卡死。

调试的顺序建议是先用最小的模式匹配上,再逐步加上边界、分组和量词, 每加一段就看一下匹配数量有没有按预期变化。

FAQ
我的正则和测试文本会被发送到服务器吗?
不会。匹配完全在浏览器内使用原生的 JavaScript RegExp 引擎运行,正则和测试字符串都不会离开你的设备。
这里用的是哪种正则方言?
浏览器自带的 JavaScript(ECMAScript)引擎,行为与你在 Node.js 或浏览器代码里得到的完全一致。其他方言的语法,例如只有 PCRE 支持的构造,可能表现不同。
为什么不加 g 标志也能看到全部匹配?
工具会枚举每一处出现,因此在列出匹配时内部会补上 g 标志。其余标志(i、m、s、u、y)严格按你设置的生效。