Tengo la siguiente URL de IPFS.
https://example.com:2053/ipfs/QmPQeMz2vzeLin5HcNYinVoSggPsaXh5QiKDBFtxMREgLf/images/0000000000000000000000000000000000000000000000000000000000000001.png
Quiero usar expresiones regulares para hacer coincidir este archivo, pero en lugar de escribir la URL completa, solo quiero hacer coincidir algo como https*00000001.png .
El problema es que cuando uso
paddedHex = '00000001'; let tmpSearchQuery = `https*${paddedHex}.png`;Realmente no coincide con nada. ¿Por qué?
Estás repitiendo un s char cero o más veces usando s* y para crear una expresión regular dinámica tienes que usar el constructor RegExp.
Puede repetir caracteres opcionales que no sean espacios en blanco en lugar de usar \S* y, si desea hacer coincidir http y https, haga que s sea opcional usando s?
const s = `https://ipfs.moralis.io:2053/ipfs/QmPQeMz2vzeLin5HcNYinVoSggPsaXh5QiKDBFtxMREgLf/images/0000000000000000000000000000000000000000000000000000000000000001.png`; const paddedHex = '00000001'; const tmpSearchQuery = new RegExp(`https?\\S*${paddedHex}\\.png`); const m = s.match(tmpSearchQuery); if (m) { console.log(m[0]); }