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

187
Visualizações
¿Por qué esta expresión regular devuelve un carácter en lugar de una nueva línea?

Quiero insertar algo justo antes de "prueba", uso esta expresión regular y esperaba que devolvería una nueva línea pero devuelve "h", por lo que si inserto con el método de reemplazo, en realidad no insertaría antes de "prueba" como quiero: ¿dónde está el ¿error?

https://jsfiddle.net/y4qh629a/

 const test = ` blah blah test blah blah`; const regex = /[^"]\s*(?=test)/; const match = test.match(regex); alert(match)
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

La clase de caracteres negados [^"] consume un solo carácter que no sea un carácter " , en este ejemplo es el carácter h .

Si desea agregar algo antes de la coincidencia, puede usar reemplazar en su lugar o combinar el valor devuelto por la coincidencia (tenga en cuenta que la coincidencia devuelve una matriz y que la const test no se puede sobrescribir)

En este caso, puede capturar la coincidencia completa usando. En el reemplazo, use la coincidencia completa usando $& .

Tenga en cuenta que debe haber al menos un solo carácter además de " presente, que también puede ser un carácter de espacio en blanco.

 const test = ` blah blah test blah blah`; console.log(test.replace(/[^"]\s*(?=test)/, "$&[replacement]"));

Si también desea hacer coincidir la test al comienzo de la cadena:

 const test = `test here blah blah test blah blah`; console.log(test.replace(/(?:^|[^"])\s*(?=test)/g, "$&[replacement]"));

about 4 years ago · Juan Pablo Isaza Relatório

0

[^"] coincide con un solo carácter.

¿Quizás quieras hacer coincidir un número ilimitado de veces? Solo agrega + ae [^"]+

 const regex = /[^"]+\s*(?=test)/;

Violín

about 4 years ago · Juan Pablo Isaza Relatório

0

Use una mirada negativa hacia atrás en su lugar:

(?!<=")\s*(?=test)

 const test = ` blah blah test blah blah`; const regex = /(?!<=")\s*(?=test)/; const match = test.match(regex); console.log(match)

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