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

81
Vistas
javascript regex para que coincida con una combinación de y/o expresión

Quiero hacer coincidir una combinación de y/o expresión y hacer coincidir solo oraciones intermedias, por ejemplo

 test1 test2 and test2 or test4 test5

Quiero obtener coincidencias test1 test2, test2, test4 test5

Probé esta expresión regular https://regex101.com/r/FFLtg6/1 pero no funciona:

 (.+)(((and|or)\s+)?)+

Actualización: necesito una expresión regular porque es parte de una expresión regular más grande.

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

0

Esto es lo que estás buscando:

 const txt = "lorem ipsum and dolor and sit or amet consecteturand elit"; console.log(txt.split(/ and | or /));

about 4 years ago · Juan Pablo Isaza Denunciar

0

  1. Puedes usar esta expresión regular:

 const text = "test1 test2 and test2 or test4 test5"; const regexp = /(?<=^|and |or ).*?(?= and| or|$)/g; console.log(text.match(regexp));

PD Pero tenga en cuenta que la función de búsqueda positiva no es compatible con todos los navegadores

  1. Puede usar esta expresión regular que no ignorará todos los espacios vacíos alrededor de las partes necesarias:

 const text = " test1 test2 and test2 or test4 test5 "; const regexp = /\s*(?!and|or)\b.*?(?=and|or|$)/g; console.log(text.match(regexp));

  1. Puede usar esta expresión regular que ignorará todos los espacios vacíos alrededor de las partes necesarias:

 const text = " test1 test2 and test2 or test4 test5 "; const regexp = /(?!and|or|\s)\b.*?(?=\s*(and|or|$))/g; console.log(text.match(regexp));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Probablemente haría lo obvio:

 const rxWords = /\S+/g; const rxConnectors = /^(and|or)$/i; const nonConnector = w => ! rxConnectors.test(w) ; function getInterestingWords( s ) { const corpus = s ?? '' ; const matches = corpus.match( rxWords ) ; const words = matches.filter( nonConnector ) ; return words; }

Dado que, ejecutar

 const text = 'test1 test2 and test2 or test4 test5f' ; const interestingWords = getInterestingWords(text);

establece palabras interestingWords en el valor esperado

 [ 'test1', 'test2', 'test2', 'test4', 'test5' ]
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