Saltar al contenido

URLPattern

Coincidencia de URL basada en patrones con grupos con nombre.

En esta página

URLPattern compara URL completas o componentes individuales de una URL.

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

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

La construcción acepta una cadena de patrón más una URL base opcional, o un diccionario con protocol, username, password, hostname, port, pathname, search, hash y baseURL. La opción ignoreCase aplica una coincidencia que no distingue mayúsculas y minúsculas.

Sintaxis de patrones

SintaxisSignificado
:nameCaptura de segmento con nombre.
:name(regex)Expresión regular personalizada con nombre.
(regex)Expresión regular personalizada sin nombre.
*Comodín completo.
{...}Grupo.
?, +, *Modificador opcional o de repetición.
\xLiteral escapado.
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() devuelve un booleano. exec() devuelve null o un resultado con la entrada y los grupos de captura de cada componente. Los atributos de componente de solo lectura exponen el patrón compilado, y hasRegExpGroups identifica los grupos de expresiones regulares explícitos.

Reference

Status: Full · Not measured · since 1.1.0

Exports

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

¿Te resultó útil esta página?