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

512
Vistas
JS Regex: coincidencia hasta el final de la línea O un carácter

Aquí hay un ejemplo de lo que estoy tratando de hacer coincidir:

 Match everything after this::: one two three
 Match this also::: one two three ___ but not this

Mi código:

 const thing = /[^:]:::\n([\s\S]*)(_{3}|$)/gm

Quiero que coincida con todo DESPUÉS de ':::', pero que termine cuando vea ___, o si eso no está allí, entonces el final de la entrada de texto, $.

Funciona para el PRIMER ejemplo, pero sigue coincidiendo con el texto después de ___ en el segundo ejemplo.

¿Alguna idea de cómo hacer esto bien?

Sólo estoy interesado en los resultados en la primera agrupación. Tuve que agrupar (_{3}|$) de lo contrario, crea un bucle infinito.

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

0

El patrón [^:]:::\n([\s\S]*)(_{3}|$) que probaste coincide demasiado porque [\s\S]* coincidirá hasta el final . Luego, cuando al final de la cadena, hay una alternancia (_{3}|$) coincide con 3 veces un guión bajo o el final de la cadena.

Luego, el patrón puede establecerse haciendo coincidir el final de la cadena.


Puede usar un grupo de captura y hacer coincidir todas las líneas siguientes que no comienzan con ___

 [^:](:::(?:\n(?!___).*)*)
  • [^:] Coincide con cualquier carácter excepto :
  • ( Grupo de captura 1
    • ::: Coincidir literalmente
    • (?:\n(?!___).*)* Coincide con todas las líneas consecutivas que no comienzan con ___
  • ) Cerrar grupo 1

Demostración de expresiones regulares

O con una mirada negativa hacia atrás si se admite para obtener solo una coincidencia, afirmando que no : a la izquierda

 (?<!:):::(?:\n(?!___).*)*

Demostración de expresiones regulares

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