Aller au contenu

URLPattern

Correspondance d'URL par motifs avec groupes nommés.

Sur cette page

URLPattern fait correspondre des URL complètes ou des composants d’URL individuels.

const users = new URLPattern({ pathname: "/users/:id" });

users.test({ pathname: "/users/42" }); // true
users.exec({ pathname: "/users/42" }).pathname.groups.id; // "42"

La construction accepte une chaîne de motif accompagnée d’une URL de base facultative, ou un dictionnaire avec protocol, username, password, hostname, port, pathname, search, hash et baseURL. L’option ignoreCase applique une correspondance insensible à la casse.

Syntaxe des motifs

SyntaxeSignification
:nameCapture nommée d’un segment.
:name(regex)Expression régulière personnalisée nommée.
(regex)Expression régulière personnalisée anonyme.
*Joker complet.
{...}Groupe.
?, +, *Modificateur facultatif ou de répétition.
\xLittéral échappé.
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"); // true

test() renvoie un booléen. exec() renvoie null ou un résultat contenant, pour chaque composant, l’entrée et les groupes de capture. Des attributs de composants en lecture seule exposent le motif compilé, et hasRegExpGroups indique la présence de groupes d’expressions régulières explicites.

Reference

Status: Full · Not measured · since 1.1.0

Exports

ExportKindStatusNotes
URLPatternclassFullprotocol, username, password, hostname, port, pathname, search, hash, hasRegExpGroups, test(), exec()

Cette page vous a-t-elle aidé ?