无需上传、100% 本地处理、无需账户

正则表达式测试器

输入模式,选择标志,针对你的文本进行测试。匹配项会内联高亮显示。每个匹配的捕获组都会列出。不离开你的浏览器。

正则表达式测试器 的工作原理

正则表达式测试工具让你输入 JavaScript 正则表达式、粘贴示例文本,并实时高亮显示所有匹配项。捕获组会在文本下方的表格中展示,方便你逐一检查每个组的捕获内容,无需运行任何脚本。支持的标志位包括 g(全局)、i(不区分大小写)、m(多行)、s(dotAll)、u(Unicode)和 y(粘性)。你输入的任何内容都不会离开你的设备:匹配引擎就是浏览器标签页内置的 JavaScript 运行时,而非服务器。

工具底层调用标准 ECMAScript RegExp 构造函数,传入你提供的模式和标志,再通过字符串 matchAll 迭代器收集所有 Match 对象。捕获组表格直接从这些对象构建,因此你看到的结果与 Node.js 或浏览器在生产代码中的返回值完全一致,没有任何中间转换层。

正则表达式测试器 的分步使用说明

  1. 在模式字段中输入或粘贴你的正则表达式。
  2. 通过复选框切换所需标志位(g、i、m、s、u、y)。
  3. 将待测文本粘贴到示例区域。
  4. 查看文本中高亮的匹配项以及下方的捕获组表格。
  5. 调整模式,实时观察结果更新。

常见使用场景

  • 在将邮件提取模式提交到数据管道之前,验证它能否正确处理加号寻址等边界情况。
  • 调试用于解析日志行的命名捕获组,对照真实日志样本逐一核查每个组的值。
  • 在将带有 u 标志的 URL 匹配正则添加到路由器之前,确认它能正确处理 Unicode 域名。
  • 交互式测试搜索替换模式,验证它在大型配置文件中不会产生意外的贪婪匹配。

常见问题

我输入的内容会被发送到服务器吗?

不会。匹配完全在浏览器标签页内部运行,使用的是内置 JavaScript RegExp 引擎。你的模式、标志和示例文本不会被传输到任何地方。打开开发者工具,在输入时查看网络面板:没有任何请求发出。

这个测试器使用哪种正则语法?

ECMAScript(ES2022+),由你的浏览器实现。这与 Node.js、Deno 和现代浏览器使用的语法相同。PCRE 专有特性(如可变长度后视断言或占有量词)不受支持,但绝大多数常用模式的行为是一致的。

为什么会报正则表达式无效的错误?

浏览器的 RegExp 构造函数对不符合 ECMAScript 语法的模式会抛出 SyntaxError。常见原因包括:未转义的反斜杠、未闭合的分组,或在未使用 u 标志的情况下使用了 Unicode 属性转义(\p{...})。

捕获组表格显示什么内容?

对于每个找到的匹配项(受 g 标志约束),表格显示完整匹配内容,然后按顺序列出每个编号组或命名组。命名组以其名称作为列标题。未参与匹配的组显示为空。

可以测试使用后视断言的模式吗?

可以,只要后视断言是你浏览器支持的固定长度或可变长度类型。Chrome 和 Firefox 从 2020 年起支持可变长度后视断言,Safari 于 2022 年添加了支持。如果你的浏览器比较新,应该没有问题。

在会话中途断网,测试器还能继续工作吗?

可以。页面加载后,所有匹配都由浏览器的 JavaScript 引擎在本地计算,无需网络连接。断开网络不会影响测试。