Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

174
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda