Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
Regexpr con una cadena

Tengo que obtener el resultado de esta expresión regular; la expresión regular es una cadena en una variable:

 const dataFileUrlRegExpr = new RegExp( "\\/home-affairs\\/document\\/download\\/([\\\\w-]{1,})_en?filename=visa_statistics_for_consulates_20[0-9]{2}.xlsx" ); href = '/home-affairs/document/download/75ecba81-12db-42b0-a628-795d3292c680_en?filename=visa_statistics_for_consulates_2020.xlsx' xlslHrefRegExpResult = dataFileUrlRegExpr.exec(xlslHref);

pero la variable xlslHrefRegExpResult es nula.

Si uso:

 const dataFileUrlRegExpr = new RegExp( /\/home-affairs\/document\/download\/([\w-]{1,})_en\?filename=visa_statistics_for_consulates_20[0-9]{2}.xlsx/g );

sin la variable de cadena que contiene la expresión, se logra el resultado.
¿Dónde está el error al usar una cadena para construir la expresión regular?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

  • No escape / en absoluto, porque no hay nada especial dentro de una expresión regular no literal.
  • Escapa de la barra invertida en \w , pero solo una vez.
  • ¿Escapar del ? y la barra invertida en sí.
  • Escapa del . y la barra invertida en sí.
 dataFileUrlRegExpr = new RegExp( "/home-affairs/document/download/([\\w-]{1,})_en\\?filename=visa_statistics_for_consulates_20[0-9]{2}\\.xlsx" );

En resumen: escriba su expresión regular como de costumbre, pero doble cada barra invertida dentro de ella para que no se interprete como un carácter de escape dentro de la cadena.

about 4 years ago · Juan Pablo Isaza Denunciar

0

El código correcto debería ser:

 const dataFileUrlRegExpr = new RegExp( "\\/home-affairs\\/document\\/download\\/([\\w-]{1,})_en\\?filename=visa_statistics_for_consulates_20[0-9]{2}.xlsx", 'g' ); href = '/home-affairs/document/download/75ecba81-12db-42b0-a628-795d3292c680_en?filename=visa_statistics_for_consulates_2020.xlsx' xlslHrefRegExpResult = dataFileUrlRegExpr.exec(href); console.log(xlslHrefRegExpResult)

¿Tenías demasiadas barras invertidas en [\\\\w-] y te faltaban las barras invertidas antes ? ./

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda