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

173
Vistas
RegEx para hacer coincidir toda la línea después de la enésima aparición de una cadena

¡Acechador desde hace mucho tiempo, póster por primera vez! Gracias a cualquiera de antemano que pueda ayudar.

Estoy usando Node.JS y Electron para crear una pequeña aplicación de escritorio que administra los valores en un archivo de juego (que es de un tipo de archivo personalizado, básicamente un archivo INI glorificado). Con la idea de permitir que las personas personalicen el archivo en una interfaz de usuario agradable en lugar de revisar cientos de líneas de código. A continuación se muestra una muestra del archivo:

 setting $Low prop $Config A_STRING_HERE "5, 10, 15, 20" setting $Medium prop $Config A_STRING_HERE "10, 20, 40, 80" setting $High prop $Config A_STRING_HERE "20, 40, 80, 160" setting $VeryHigh prop $Config A_STRING_HERE "40, 80, 160, 320"

¿Cómo haría para hacer coincidir, por ejemplo, la ocurrencia "setting $High" (3ra) que contiene "A_STRING_HERE" hasta el final de la línea? Espero coincidir solo:
A_STRING_HERE "20, 40, 80, 160" .

Los valores son dinámicos y cambiarán mucho, por lo que hacer coincidir la línea con los valores no es necesariamente una opción.

  • \A_STRING_HERE.+\g coincidirá con todas las ocurrencias hasta el final de la línea.
  • \A_STRING_HERE.+\ hará coincidir la primera aparición con el final de la línea.
  • \A_STRING_HERE.+\?????? coincidirá con la tercera aparición al final de la línea?

¡Gracias de nuevo y todo lo mejor!

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

0

Probablemente puedas probar esta expresión regular:

 (?<=setting \$High\n\s*?prop \$Config )A_STRING_HERE.*

explicación

  • (?<=) - Representa una mirada positiva hacia atrás.
  • setting \$High\n\s*?prop \$Config - El texto que separa esta coincidencia con otras coincidencias. Probablemente pueda omitir la parte de setting para que sea más conciso.
    • \n - Representa una nueva línea.
    • \s*? - Lazily coincide con 0 o más espacios en blanco. Puedes ajustarlo según tu necesidad.
  • .* - Coincide con todo excepto \n . También puede ser específico aquí si desea incluir solo números.
  • \g - Tenga en cuenta que solo se usa la bandera global.

Puede encontrar la implementación de la expresión regular anterior aquí.

Explicación de la imagen: Imagen

 const regex = /(?<=setting \$High\n\s*?prop \$Config )A_STRING_HERE.*/g; // Alternative syntax using RegExp constructor // const regex = new RegExp('(?<=setting \\$High\\n\\s*?prop \\$Config )A_STRING_HERE.*', 'g') const str = `setting \$Low prop \$Config A_STRING_HERE "5, 10, 15, 20" setting \$Medium prop \$Config A_STRING_HERE "10, 20, 40, 80" setting \$High prop \$Config A_STRING_HERE "20, 40, 80, 160" setting \$VeryHigh prop \$Config A_STRING_HERE "40, 80, 160, 320"`; console.log(str.match(regex)[0]);

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