正在准备工作区…
输入
输出
结果将显示在这里。
使用方法
- 输入不含 / 分隔符的表达式,选择标志并添加测试文本。
- 手动运行,查看输入高亮和 JSON 报告。
- 选择匹配项进行定位或复制,也可下载完整报告。
测试 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 引擎为准。