Estoy buscando una coincidencia de patrón con cierta cadena antes y después del uuid.
por ejemplo user/a24a6ea4-ce75-4665-a070-57453082c256/photo/a24a6ea4-ce75-4665-a070-57453082c256
const regexExp = new RegExp(/^user\/[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i); console.log(regexExp.test("user/a24a6ea4-ce75-4665-a070-57453082c256")); // true console.log(regexExp.test("user/a24a6ea4-ce75-4665-a070-57453082c256/photo")); // false
Lo que espero es hacer coincidir user/{uuid}/*
¿Cómo usar un comodín después del uuid?
Si desea hacer coincidir ambos, puede omitir el uso del constructor RegExp ya que ya está usando un literal y, opcionalmente, hacer coincidir /
seguido por el resto de la cadena.
El [4]
puede ser solo 4
const regexExp = /^user\/[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}(?:\/.*)?$/i;
Vea la demostración de regex101 .
const regexExp = /^user\/[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}(?:\/.*)?$/i; [ "user/a24a6ea4-ce75-4665-a070-57453082c256", "user/a24a6ea4-ce75-4665-a070-57453082c256/photo", "user/a24a6ea4-ce75-4665-a070-57453082c256asdasd" ].forEach(s => console.log(`${s} --> ${regexExp.test(s)}`) );