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

126
Visualizações
RegEx Split String and Leave Delimiter

I am trying to split a string and leave the delimiter intact. I am getting pretty close but I can't figure it out fully. I have found a lot of examples on Stack Overflow but I am still running in to an issue that I can't figure out. Here is the code:

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

The above code yields:

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

The result I am looking for is:

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

The ${G:SomeVar:G} pattern is a templating system where variables will be injected. There are other formats of variables too for example ${G:AnotherVar:1}, ${G:DifferentVar:5} etc. After I get the split string, I will do a variable lookup in the system to inject the corresponding variable.

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

0

You are having an extra capture group inside the regex, this will give you a single group.

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

console.log(result);

The regex that graps a single capture group looks like this. it returns all the captured inside ()

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

This should capture the examples provided. regex101

It's build with first getting ${ and then getting one or more characters lazily (.+?) until it encounters a }.

about 4 years ago · Juan Pablo Isaza Relatório

0

You can use this regex for splitting:

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

Code:

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

console.log(arr);

Here:

  • \${[^}]*}: Will match ${ followed by 0 or more non-} characters followed by }
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