全部效率工具

DEVELOPER UTILITY

正则表达式测试

在受限 Web Worker 中测试 JavaScript 正则,超过固定时间上限会停止并标注为不完整结果。

示例输入

  • 匹配连续 aa+ baaa
标志

所有内容仅在当前浏览器中处理。

适合解决什么问题

正则表达式测试用于确认模式能否在样本文本中找到预期内容,并查看每次匹配的文本和位置。不同语言的正则语法并不完全相同,本页按 JavaScript RegExp 规则执行。

测试运行在有上限的 Web Worker 中,避免复杂模式长时间占用页面。当前限制为 20,000 个 UTF-16 字符、最多展示 500 个匹配,并在 250 毫秒后终止。

调试 JavaScript 正则

输入 pattern 和 flags,在真实样本文本中检查匹配内容、开始位置和结束位置。

验证全局匹配

使用 g 标志查看所有命中,确认重复内容是否被完整捕获且没有遗漏。

排查 flags 差异

组合 i、m、s、u、y 等 JavaScript 标志,比较大小写、多行和 Unicode 行为。

使用方法

  1. 填写表达式和 flags

    只输入正则主体,不需要外层斜杠;flags 使用 JavaScript 支持且不重复的字母。

  2. 粘贴测试文本

    输入能够覆盖成功、失败和边界情况的样本,长度不得超过 20,000 个 UTF-16 字符。

  3. 运行并查看匹配

    检查每条结果的文本和位置;若超时,应简化表达式,不能把超时当作无匹配。

格式与边界

按 JavaScript 语法执行

其他语言专属的正则结构可能不受支持,结果应以 JavaScript RegExp 行为为准。

三项资源限制

测试文本上限为 20,000 个 UTF-16 字符,最多展示 500 个匹配,运行期限为 250 毫秒。

超时不是无匹配

Worker 被终止表示结果不完整;应检查灾难性回溯、过宽量词或过大的测试样本。

常见问题

正则会卡住页面吗?

测试在受限 Worker 中运行,超过 250 毫秒会停止。

超时等于没有匹配吗?

不等于,超时结果明确标记为不完整。

表达式需要写成 /pattern/g 吗?

不需要。表达式输入框只填写 pattern,g、i、m 等标志单独填写在 flags 输入框。

最多能查看多少个匹配?

最多展示 500 个匹配。达到上限时不代表后面没有更多结果,应缩小测试文本或收紧模式。