adventjs-issues icon indicating copy to clipboard operation
adventjs-issues copied to clipboard

[RegExp] Unexpected SyntaxError: Unterminated string constant

Open emigimenezj opened this issue 1 year ago • 1 comments

¡Buenas!

Estaba buscando diferentes soluciones para los retos y me topé con un problema inesperado con la creación de expresiones regulares por el constructor de la clase.

const regexp = new RegExp('$'); // → SyntaxError: Unterminated string constant

imagen

[!NOTE]

  • Solo sucede con el signo de fin de string en las expresiones regulares ($)
  • Solo sucede cuando el string se declara con comilla simple (') o backticks (`), pero no con comillas dobles (")
  • Solo sucede usando el constructor de la clase, la declaración literal const regex = /$/ funciona bien.

emigimenezj avatar Dec 08 '23 19:12 emigimenezj

Buenas, desconozco porque ocurre esto (imagino que al enviar el código al server da error de escape en el caracter, pero vamos es una hipótesis)

Las soluciones temporales que te propongo mientras tanto son:

  • Usar el carácter dentro de un template-string. Ejemplo: const regex = new RegExp(${"$"});
  • Usar el caracter unicode de $. Ejemplo: const regex = new RegExp('\u0024')

Espero que te sirva

ribonuclecode avatar Dec 08 '23 20:12 ribonuclecode