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

129
Visualizações
Regex: combina y reemplaza dos grupos a la vez

Cómo encontrar grupos de caracteres en mayúsculas y minúsculas en una cadena y reemplazarlos de esta manera:

  • agregue etiquetas html para grupos en mayúsculas: <span class="upper_group">FOO</span>
  • agregue etiquetas html para grupos en minúsculas y transforme a mayúsculas: <span class="lower_group">BAR</span>

Intenté esto a continuación, pero no puedo transformar los grupos inferiores fácilmente a mayúsculas:

 let sentence = "NOCH KEt SKUIZh"; let newSentence = sentence.replace(/([az]+)/g, '<span class="bar">$1</span>').replace(/([A-Z'.]+)/g, "<span class='foo'>$1</span>");

Rendimiento esperado:

 <span class="foo">NOCH</span> <span class="foo">KE</span><span class="bar">t</span> <span class="foo">SKUIZ</span><span class="bar">h</span>
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puedes considerar este código:

 var s = "NOCH KEt SKUIZh"; var r = s.replace(/([az]+)|([AZ]+)/g, (m, g1, g2) => '<span class="' + (g1 != undefined ? 'lower">' + g1 : 'upper">' + g2) + '</span>'); console.log(r); //=> '<span class="upper">NOCH</span> <span class="upper">KE</span><span class="lower">t</span> <span class="upper">SKUIZ</span><span class="lower">h</span>'

Detalles RegEx+lamnda:

  • ([az]+) : Coincide con 1+ letras minúsculas en el 1er grupo
  • | : o
  • ([AZ]+) : Coincide con 1+ letras mayúsculas en el segundo grupo
  • (m, g1, g2) : pone a disposición m (coincidencia completa) y gN (N-ésimo grupo de captura) para la expresión lambda
  • Cuando g1 no es nulo, use la clase lower ; de lo contrario, use la clase upper
about 4 years ago · Juan Pablo Isaza Relatório

0

Lo siguiente asume que su resultado esperado realmente debería ser:

<span class="foo">NOCH</span> <span class="foo">KE</span><span class="bar">T</span> <span class="foo">SKUIZ</span><span class="bar">H</span>

Puede utilizar una función de reemplazo. Por ejemplo:

 let sentence = "NOCH KEt SKUIZh"; let replacer = (_, g1, g2) => `<span class="${ g1 ? `foo">${g1}` : `bar">${g2.toUpperCase()}` }</span>`; let newSentence = sentence.replace(/([AZ]+)|([az]+)/g, replacer); console.log(newSentence);

g1 es la cadena capturada por ([AZ]+) y g2 es la cadena capturada por ([az]+) .

about 4 years ago · Juan Pablo Isaza Relatório

0

 let sentence = "NOCH KEt SKUIZh"; let newSentence = sentence.replace(/([az]+)|([A-Z'.]+)/g, (a,b) => b ? `<span class="adlavaret2">${a.toUpperCase()}</span>` : `<span class="adlavaret1">${a}</span>`); console.log(newSentence);

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