## URLPattern 概要
`URLPattern` 接口允许使用灵活的模式匹配 URL,灵感来自 `path-to-regexp` 等库。模式可以包含字面字符串、通配符 (`*`)、命名组 (`:id`)、可选/重复组 (`?`, `+`, `*`) 和正则表达式 (`(\\d+)`)。正则表达式组由括号表示,可能受某些 API 限制;`hasRegExpGroups` 指示它们的使用。
主要特性包括:
* **分组:** 提取 URL 的部分,命名或未命名(按数字索引)。
* **通配符:** 匹配任何字符。
* **正则表达式:** 在组内启用复杂的匹配。
* **修饰符:** 控制组的重复 (`+`, `*`) 和可选性 (`?`)。
* **组分隔符:** `{}` 允许将修饰符应用于固定文本。
* **标准化:** 模式被标准化以保持一致性(例如,百分比编码)。
* **基本 URL:** 用于解析相对 URL 并继承组件。
* **大小写不敏感:** 可以通过 `ignoreCase` 选项启用。
`URLPattern` 提供 `test()` 方法进行布尔匹配,以及 `exec()` 方法来检索匹配的组和输入字符串。它是一个强大的路由和 URL 操作工具,提供了一种类似于 Ruby on Rails 和 Express.js 等框架的标准化方法。提供了一个 polyfill 以获得更广泛的浏览器兼容性。