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

139
Vistas
¿Cómo hacer que la siguiente expresión regular coincida y reemplace las comillas dobles no cerradas?

El siguiente código reemplaza las comillas dobles rectas con comillas dobles rizadas:

 const input = `"Line 1" "Line 2 "Line 3" Line 4` const output = input.replace(/\"(.*?)(\")/g, '“$1”') console.log(output)

Sin embargo, hay un problema. A veces, una línea no tiene una comilla doble de cierre (lo que indica que las comillas continúan en la línea de abajo). Entonces la comilla doble de apertura no será reemplazada:

 `“Line 1$1” "Line 2 “Line 3$1” Line 4`

¿Cómo modificar la expresión regular para que también reemplace las comillas dobles de apertura que no son seguidas por una comilla doble de cierre?

Salida deseada:

 `“Line 1$1” “Line 2 “Line 3$1” Line 4`
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Iría en 2 replace() sucesivos, si está bien:

  • uno para almacenar en caché el formulario "...'"
  • otro para atrapar a los restantes "...
 const output = input .replace(/\"(.*?)(\")/g, '“$1”') .replace(/\"(.*)/g, '“$1”')

Pero no entendí si quería hacer coincidir los resultados de varias líneas en una cadena final única, o simplemente agregar comillas al final de cada línea

about 4 years ago · Juan Pablo Isaza Denunciar

0

  1. elemento de la lista

 const input = `"Line 1" "Line 2 "Line 3" Line 4` const output = input.replace(/"([^"/]*)"/g, '“$1”') console.log(output)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes usar

 .replace(/^"([^"\n\r]*)"?$/gm, "“$1”")

Vea la demostración de expresiones regulares . La expresión regular coincide con todas las ocurrencias que no se superponen ( g ), mientras que el inicio de las líneas coincide con ^ y el final de las líneas con $ (debido a m ) y significa

  • ^ - comienzo de una línea
  • " - una comilla doble
  • ([^"\n\r]*) - Grupo 1: cualquier cero o más caracteres que no sean " , CR y LF
  • "? - un carácter opcional "
  • $ - final de cualquier línea.

Vea la demostración de JavaScript:

 const input = `"Line 1" "Line 2 "Line 3" Line 4` const output = input.replace(/^"([^"\n\r]*)"?$/gm, '“$1”') console.log(output)

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