supongamos que tengo esta cadena:
google.com/:id/:category
¿Cómo puedo extraer solo la identificación y la categoría de esta cadena?
debería usar expresiones regulares
este partido no funciona:
match(/\/:([a-zA-Z0-9]*)/g);
Puede intentar lo siguiente:
var url = "google.com/:id/:category"; var parts = url.match(/(?<=\/:)[a-zA-Z0-9]+/g); console.log(parts); Este enfoque utiliza la búsqueda posterior positiva (?<=\/:) para evitar el problema de hacer coincidir la parte /: inicial no deseada. En su lugar, este marcador principal se afirma pero no coincide en la versión anterior.
Bueno, los grupos de captura se ignoran al coincidir con /g . Podrías ir con matchAll así:
const url = "google.com/:id/:category" const info = [...url.matchAll(/\/:([a-zA-Z0-9]*)/g)].map(match => match[1]) console.log(info)Crédito: mejor acceso a los grupos de captura (que String.prototype.match())