URLPattern gleicht vollständige URLs oder einzelne URL-Bestandteile ab.
const users = new URLPattern({ pathname: "/users/:id" });
users.test({ pathname: "/users/42" }); // true
users.exec({ pathname: "/users/42" }).pathname.groups.id; // "42"Die Konstruktion akzeptiert eine Musterzeichenkette mit optionaler Basis-URL oder
ein Wörterbuch mit protocol, username, password, hostname, port,
pathname, search, hash und baseURL. Die Option ignoreCase aktiviert einen
Abgleich ohne Beachtung der Groß- und Kleinschreibung.
Mustersyntax
| Syntax | Bedeutung |
|---|---|
:name | Benannte Segmenterfassung. |
:name(regex) | Benannter eigener regulärer Ausdruck. |
(regex) | Unbenannter eigener regulärer Ausdruck. |
* | Vollständiger Platzhalter. |
{...} | Gruppe. |
?, +, * | Optionaler oder wiederholender Modifikator. |
\x | Maskiertes Literal. |
const api = new URLPattern("https://*.example.com/api/:resource");
api.exec("https://v2.example.com/api/widgets")
.pathname.groups.resource; // "widgets"
const numeric = new URLPattern({ pathname: "/items/:id(\\d+)" });
numeric.test({ pathname: "/items/123" }); // true
const relative = new URLPattern("/items/:id", "https://example.com/");
relative.test("https://example.com/items/7"); // truetest() gibt einen Boolean zurück. exec() gibt null oder ein Ergebnis mit der
Eingabe und den Erfassungsgruppen jedes Bestandteils zurück. Schreibgeschützte
Attribute der Bestandteile stellen das kompilierte Muster bereit, und
hasRegExpGroups kennzeichnet explizite Regex-Gruppen.
Reference
Status: Full · Not measured · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
URLPattern | class | Full | protocol, username, password, hostname, port, pathname, search, hash, hasRegExpGroups, test(), exec() |