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

160
Visualizações
Pares de valores de clave coincidentes de expresión regular dentro de corchetes

Estoy tratando de capturar pares clave:valor dentro de corchetes. Para la siguiente cadena, debería devolver algo como k2:v2 y k3:v3

Str = “k1:v1abc{k2:v2,k3:v3}{test}”

Tengo las siguientes expresiones regulares que capturan lo que necesito individualmente, pero no sé cómo combinarlas.

/(\w+):(\w+)/g >>> Captura clave:valor /{.*?}/g >>> Captura todo entre {}

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

0

Si su entorno admite un cuantificador en una aserción de búsqueda posterior:

 (?<={[\w:,]*)\w+:\w+(?=[\w:,]*})

El patrón coincide:

  • (?<={[\w:,]*) Positivo mirar atrás, afirmar { y repeticiones opcionales de los caracteres permitidos a la izquierda
  • \w+:\w+ Combina 1+ caracteres de palabra : y 1+ caracteres de palabra
  • (?=[\w:,]*}) Búsqueda anticipada positiva, afirmar repeticiones opcionales de los caracteres permitidos a la derecha y }

Vea una demostración de expresiones regulares .

 const str = "k1:v1abc{k2:v2,k3:v3}{test}"; const regex = /(?<={[\w:,]*)\w+:\w+(?=[\w:,]*})/g; console.log(str.match(regex));

Otra forma podría ser usar 2 pases, primero hacer coincidir el formato y obtener la parte entre las llaves en un grupo de captura.

Si hay una coincidencia, divida el grupo 1 en una coma.

 {(\w+:\w+(?:,\w+:\w+)*)}

El patrón coincide:

  • { Apertura del partido {
  • ( Grupo de captura 1
    • \w+:\w+ Combina 1+ caracteres de palabra : y 1+ caracteres de palabra
    • (?:,\w+:\w+)* Opcionalmente repetir a , y el mismo patrón anterior
  • )
  • } Cierre del partido }

 const str = "k1:v1abc{k2:v2,k3:v3}{test}"; const regex = /{(\w+:\w+(?:,\w+:\w+)*)}/; const m = str.match(regex); if (m) console.log(m[1].split(","));

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