DEVELOPER UTILITY
正则表达式测试
在受限 Web Worker 中测试 JavaScript 正则,超过固定时间上限会停止并标注为不完整结果。
示例输入
- 匹配连续 a
a+ baaa
所有内容仅在当前浏览器中处理。
适合解决什么问题
正则表达式测试用于确认模式能否在样本文本中找到预期内容,并查看每次匹配的文本和位置。不同语言的正则语法并不完全相同,本页按 JavaScript RegExp 规则执行。
测试运行在有上限的 Web Worker 中,避免复杂模式长时间占用页面。当前限制为 20,000 个 UTF-16 字符、最多展示 500 个匹配,并在 250 毫秒后终止。
调试 JavaScript 正则
输入 pattern 和 flags,在真实样本文本中检查匹配内容、开始位置和结束位置。
验证全局匹配
使用 g 标志查看所有命中,确认重复内容是否被完整捕获且没有遗漏。
排查 flags 差异
组合 i、m、s、u、y 等 JavaScript 标志,比较大小写、多行和 Unicode 行为。
使用方法
填写表达式和 flags
只输入正则主体,不需要外层斜杠;flags 使用 JavaScript 支持且不重复的字母。
粘贴测试文本
输入能够覆盖成功、失败和边界情况的样本,长度不得超过 20,000 个 UTF-16 字符。
运行并查看匹配
检查每条结果的文本和位置;若超时,应简化表达式,不能把超时当作无匹配。
格式与边界
按 JavaScript 语法执行
其他语言专属的正则结构可能不受支持,结果应以 JavaScript RegExp 行为为准。
三项资源限制
测试文本上限为 20,000 个 UTF-16 字符,最多展示 500 个匹配,运行期限为 250 毫秒。
超时不是无匹配
Worker 被终止表示结果不完整;应检查灾难性回溯、过宽量词或过大的测试样本。
常见问题
正则会卡住页面吗?
测试在受限 Worker 中运行,超过 250 毫秒会停止。
超时等于没有匹配吗?
不等于,超时结果明确标记为不完整。
表达式需要写成 /pattern/g 吗?
不需要。表达式输入框只填写 pattern,g、i、m 等标志单独填写在 flags 输入框。
最多能查看多少个匹配?
最多展示 500 个匹配。达到上限时不代表后面没有更多结果,应缩小测试文本或收紧模式。