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

444
Visualizações
Javascript regex para encontrar dos caracteres entre dos delimitadores

EDITADO

Necesito encontrar dos caracteres entre '[' ']' y '/' '/' usando Javascript.

Estoy usando esta expresión regular:

 ([^.][/[string]]|\/string\/)|(\[(string))|(\/(string))| ((string)\])|((string)\/)

que obtiene dos caracteres pero obtiene también un carácter.

La pregunta es, ¿cómo puedo hacer para obtener sólo dos caracteres?

También quiero obtener exactamente los dos caracteres dentro de la cadena, me refiero no solo a la coincidencia exacta.

P.ej.

Entrada del usuario: dz Debe encontrar coincidencias exactas que contengan "dz", por ejemplo --> "dzone" pero no "dazone". Actualmente obtengo coincidencias con ambas cadenas, "dzone" y "dazone".

Demostración: https://regex101.com/r/FEs6ib/1

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Opcionalmente, puede repetir cualquier carácter, excepto los delimitadores entre los propios delimitadores, y capturar en un grupo lo que desea conservar.

Si desea múltiples coincidencias para /dzone/dzone/ , puede afirmar el último delimitador a la derecha en lugar de hacerlo coincidir.

Los partidos están en el grupo 1 o el grupo 2 donde puede verificar si existen.

 \/[^\/]*(dz)[^\/]*(?=\/)|\[[^\][]*(dz)[^\][]*(?=])

El patrón coincide:

  • \/ partido /
  • [^\/]*(dz)[^\/]* Captura dz en el grupo 1 entre caracteres opcionales que no sean /
  • (?=\/) Anticipación positiva, afirmar / a la derecha
  • | O
  • \[ Partido [
  • [^\][]*(dz)[^\][]* Capturar dz en el grupo 2 entre caracteres opcionales que no sean [ y ] - (?=]) Búsqueda anticipada positiva, afirmar ] a la derecha

Demostración de expresiones regulares

Esto coincidirá con 1 aparición de dz en la palabra. Si desea hacer coincidir la palabra completa, el grupo de captura se puede ampliar antes y después de la clase de caracteres negados como:

 \/([^\/]*dz[^\/]*)(?=\/)|\[([^\][]*dz[^\][]*)(?=])

Demostración de expresiones regulares

 const regex = /\/[^\/]*(dz)[^\/]*(?=\/)|\[[^\][]*(dz)[^\][]*(?=])/g; [ "[dzone]", "/dzone/", "/dzone/dzone/", "/testdztest/", "[dazone]", "/dazone/", "dzone", "dazone" ].forEach(s => console.log( `${s} --> ${Array.from(s.matchAll(regex), m => m[2] ? m[2] : m[1])}` ) );

Si es compatible, también puede hacer coincidir todas las apariciones de dz entre los delimitadores mediante búsquedas con un cuantificador infinito:

 (?<=\/[^\/]*)dz(?=[^\/]*\/)|(?<=\[[^\][]*)dz(?=[^\][]*])

Demostración de expresiones regulares

 const regex = /(?<=\/[^\/]*)dz(?=[^\/]*\/)|(?<=\[[^\][]*)dz(?=[^\][]*])/g; [ "[adzadzone]", "[dzone]", "/dzone/", "/dzone/dzone/", "/testdztest/", "[dazone]", "/dazone/", "dzone", "dazone" ].forEach(s => { const m = s.match(regex); if (m) { console.log(`${s} --> ${s.match(regex)}`); } });

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