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

128
Visualizações
RegEx Split String y Leave Delimiter

Estoy tratando de dividir una cadena y dejar intacto el delimitador. Me estoy acercando bastante, pero no puedo entenderlo completamente. He encontrado muchos ejemplos en Stack Overflow, pero todavía me encuentro con un problema que no puedo resolver. Aquí está el código:

 "This is a string with ${G:VarSome:G} text".split(/\$\{(.+?(}\(.+?\)|}))/g)

El código anterior produce:

 ['This is a string with ', 'G:VarSome:G}', '}', ' text']

El resultado que busco es:

 ['This is a string with ', '${G:VarSome:G}', ' text']

El patrón ${G:SomeVar:G} es un sistema de plantillas donde se inyectarán variables. También hay otros formatos de variables, por ejemplo, ${G:AnotherVar:1}, ${G:DifferentVar:5}, etc. Después de obtener la cadena dividida, haré una búsqueda de variables en el sistema para inyectar la variable correspondiente.

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

0

Tiene un grupo de captura adicional dentro de la expresión regular, esto le dará un solo grupo.

 const result = "This is a string with ${G:VarSome:G} text".split(/(\${.+?})/g); console.log(result);

La expresión regular que captura un solo grupo de captura se ve así. devuelve todo lo capturado dentro ()

/(\${.+?})/g

Esto debería capturar los ejemplos proporcionados. expresión regular101

Se construye obteniendo primero ${ y luego obteniendo uno o más caracteres perezosamente ( .+? ) hasta que encuentra un } .

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar esta expresión regular para dividir:

 /(\${[^}]*})/

Código:

 var s = 'This is a string with ${G:VarSome:G} text'; var arr = s.split(/(\${[^}]*})/); console.log(arr);

Aquí:

  • \${[^}]*} : coincidirá con ${ seguido de 0 o más caracteres que no sean } seguidos de }
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