Tengo algo como este SW-763-20200622-XXX-YYY .
Necesito crear un enlace URL que tenga una cadena estática + partes de la cadena anterior de cierta manera, por ejemplo, para este caso particular https://www.static/SW/763/2020/06/22
Hasta ahora tengo algo como esto, que ya muestra static part + SW/763 :
<Link target="_blank" rel="noopener noreferrer" data-qa="link-report" href= { `https://www.static/${ something.identifier.replace(/-/g, "/").slice(0, 6)}' } > Link </Link> Jugué con Regex y también pude recuperar el año con /\d{4}(?=\d{4})/g pero este enfoque significa que tendría que agregar al código actual, más líneas con replace/regex para captura el año (con la expresión regular que mencioné) y otros para el mes/día también separados por / ( 20200622 ).
Me pregunto si hay una mejor manera de hacerlo, ya sea con una expresión regular más completa o simplemente con un enfoque diferente.
Puede capturar las partes específicas y usar los grupos creando el formato esperado con replace.
^([AZ]{2})-(\d{3})-(\d{4})(\d{2})(\d{2})\b.*Demostración de expresiones regulares
const regex = /^([AZ]{2})-(\d{3})-(\d{4})(\d{2})(\d{2})\b.*/gm; const s = `SW-763-20200622-XXX-YYY`; console.log(s.replace(regex, `https://www.static/$1/$2/$3/$4/$5`))