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

128
Vistas
Regexpr with a string

I have to get the result from this regular expression; the regular expression is a string in a 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);

but the xlslHrefRegExpResult variable is null.

If I use:

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

without the string variable containing the expression, the result is achieved.
Where is the error using a string to build the regexp?

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

0

  • Don't escape / at all, because it's nothing special inside a non-literal regex.
  • Do escape the backslash in \w, but only once.
  • Do escape the ? and the backslash itself.
  • Do escape the . and the backslash itself.
dataFileUrlRegExpr = new RegExp(            
    "/home-affairs/document/download/([\\w-]{1,})_en\\?filename=visa_statistics_for_consulates_20[0-9]{2}\\.xlsx"
);

In short: write your regexp as normal, but double every backslash inside it so that it doesn't get interpreted as an escape character inside the string.

about 4 years ago · Juan Pablo Isaza Denunciar

0

The correct code should be:

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)

You had too many backslashes in [\\\\w-], and you were missing the backslashes before ?./

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