正则表达式测试器

测试 JavaScript 表达式、检查捕获组并定位匹配。

文本与正则
正在准备工作区…
输入
输出
结果将显示在这里。

使用方法

  1. 输入不含 / 分隔符的表达式,选择标志并添加测试文本。
  2. 手动运行,查看输入高亮和 JSON 报告。
  3. 选择匹配项进行定位或复制,也可下载完整报告。

测试 JavaScript 正则表达式

在本地文本上测试 JavaScript RegExp,无需发送到服务器。报告包含匹配内容、从 0 开始的 UTF-16 位置、编号捕获组和命名组。

标志遵循浏览器的 JavaScript 规则,包括全局、多行锚点、Unicode、粘连匹配及可选的捕获组索引。

阅读匹配和捕获组

输入区会高亮匹配项,可逐项导航并选中准确原文,包括原始换行。未匹配到的可选捕获组在 JSON 中表示为 null。下方示例展示内容与位置,完整报告还包含捕获组。

单词匹配与位置
表达式与文本
pattern = (?<word>\p{L}+)
flags = gu
text = Ada and Lin
报告摘录
[{"value":"Ada","index":0,"end":3},
 {"value":"and","index":4,"end":7},
 {"value":"Lin","index":8,"end":11}]

展示三个匹配内容及其 [开始, 结束) UTF-16 位置。

标志与 Unicode 位置

u 和 v 不能同时启用。不含 g 时只报告首次匹配。空的全局匹配在 u 或 v 模式下按码位推进,否则按 UTF-16 单元推进。零长度匹配显示在报告中,不显示彩色文本跨度。

有界的本地执行

正则需手动运行,独立 Worker 限时 2 秒,最多报告 500 个匹配,并明确标注截断。语法错误保留浏览器的技术原因。本工具使用 JavaScript 语法,不模拟 PCRE、Python 或服务端引擎。

处理限制

文本转换支持 5 MiB 输入、100,000 个逻辑行、20 MiB 输出和 10 秒处理时间。正则支持 1 MiB 输入、4,096 个 UTF-16 单元的表达式、最多 500 个结果及 2 秒限时。文件需为 UTF-8,全部在本地处理。

?

常见问题

正则在服务器执行吗?

不,在可终止的浏览器 Worker 中执行。

为什么测试被停止?

达到了 2 秒限时,请简化表达式或缩小文本。

位置如何计数?

从 0 开始的 UTF-16 单元,与 JavaScript 字符串索引一致。

表达式无效会清空文本吗?

不会,保留输入,上次报告会被标记,成功运行前禁用导出。

支持所有正则语法吗?

不支持,语法和标志以当前浏览器的 JavaScript 引擎为准。

寻找下一个实用工具

语言

切换语言?当前页面的内容将被清空。请先复制或下载需要保留的数据。