空字段与星号含义不同
默认八个字段都显式传给引擎。* 表示允许任意值,清空则要求该组件为空。基础地址在组件模式下只负责解析候选,不会自动给模式补上协议或主机限制。
地址与路由规则
每行输入一个 URL,用同一模式批量测试;在下方选择 URLPattern 或仅检查路径的路由适配器。
地址和模式只在当前浏览器计算,不请求输入的 URL。
请至少输入一条候选 URL。
URLPattern:* 匹配任意值,空字段只匹配空组件。组件明细可显示局部捕获,整条地址仍可能不匹配。
基础地址用于解析相对候选和相对字符串模式,不给组件模式增加条件。
限制:模式/组件 512、URL 200 条、单地址及基础地址 2,048、总输入 131,072 个 UTF-16 代码单元;线程预算 2 秒。
结果已过期或正在计算。
同一个路径,换了域名、加上尾斜杠或带入编码参数,结果就可能不同。URLPattern 测试把预期命中与预期失败的样本放在一起,让你改一个条件就能看到差异,避免只拿一条成功地址判断规则可用。
URL 模式匹配关注地址的不同组件,框架路由通常只检查路径。这里分别调用真实引擎,并保留原始输入与规范化地址;匹配成功只证明字符串符合当前规则,不代表接口存在或服务器会选择某个处理函数。
URLPattern 测试把整条地址结果与八个组件的独立诊断分开。域名不符时,路径仍可能捕获 id;展开明细就能看见。局部捕获只作为诊断,不会冒充整条 URLPattern exec 成功返回的命名捕获组。
组件模式中的 hostname 可以限制主机。切换路径引擎后,只要 pathname 相同,不同主机上的地址也可能命中。将这两条样本一起保留,能够核对你需要的是完整地址约束还是路径规则。
默认八个字段都显式传给引擎。* 表示允许任意值,清空则要求该组件为空。基础地址在组件模式下只负责解析候选,不会自动给模式补上协议或主机限制。
路径适配器采用 path-to-regexp v8,对应 Express 5 路径语法。可选段使用花括号,通配符需要名字;完整匹配、尾斜杠和参数解码可以分别调整。切换入口保留已有输入,不自动改写语法。
自动测试在停止编辑 350 ms 后运行。关闭后使用按钮或 Ctrl/Cmd + Enter;输入一变,旧报告立即禁止复制和下载。展开失败行的组件明细,确认当前结果后再保存。
URLPattern 测试使用 urlpattern-polyfill 10.1.0 和 path-to-regexp 8.4.2。报告保留引擎版本、选项和原始输入;所有浏览器使用相同 polyfill,因此这里并不检测浏览器原生实现的差异。
URLPattern 结果按组件保存,保留百分号编码,未出现的可选捕获导出为 null。路径引擎默认解码参数,具名通配符可返回数组;关闭解码后则保留原始编码字符串。
相对样本会先按基础地址解析。报告同时保存输入与实际地址,能看见默认端口消失、域名大小写规范化和点路径消解。基础地址的变化可以在模式未改时改变测试对象。
无效 URL 和解码错误保留原始行号,其他样本继续测试。模式编译失败则停止整次运行。结果先显示 50 行,可继续展开;导出的 JSON 包含全部样本及失败项,不随页面分页截断。
候选 /users/42 会结合下方的基础地址解析;清空基础地址后,相对候选会报错。完整字符串模式也可使用基础地址构造相对模式。组件模式直接按八个字段构造,不会从基础地址继承主机条件。
URLPattern 不会自动补一个可选斜杠,/users/:id 不匹配 /users/42/。路径适配器默认允许尾斜杠,可以关闭该选项;两种引擎的默认行为应分别检查。
默认区分,可开启“忽略大小写”。但域名在地址解析阶段已被规范化,不能仅用域名大小写变化验证路径的大小写规则。请用 /users/42 与 /USERS/42 这类样本对照。
通配符本身会产生匿名捕获,例如 * 可能显示为编号 0。这里保留引擎返回的结构;即使捕获到空字符串,它也与不存在的可选捕获不同,后者在报告中记为 null。
本页的 URLPattern test 按 search 字符串检查,不做对象、数组或映射等价比较。重复参数与参数顺序都可能影响结果;要忽略查询部分可把 search 设为 *,这与逐项核对参数含义不同。
有一条结果出乎意料?