JavaScript localizar e substituir um personagem entre caracteres especificados

Pugazh:

Eu estou tentando substituir todos [space]com -entre __ttett__

Eu poderia substituir espaço em toda a cadeia de caracteres com regex abaixo.

var str = document.getElementById('tt').value;
str = str.replace(/(?<=__tt.*) (?=.*tt__)/g, '-');
console.log(str);
textarea {
  width: 400px;
  min-height: 100px;
}
<textarea id="tt">This is a long text __tt where i want 
to replace
some text tt__ between some character
</textarea>

Existe uma maneira que eu poderia fazer a substituir apenas entre __tte tt__tag ???

A quarta pássaro:

Sem lookarounds, que ainda não são totalmente suportados por todos os navegadores que você também pode usar um substituto usando uma função de retorno sobre apenas o jogo selecionado.

str = str.replace(/__tt.*?tt__/g, m => m.replace(/ /g, "-"));

var str = 'This is a long text __tt where i want to replace some text tt__ between some character';
str = str.replace(/__tt.*?tt__/g, m => m.replace(/ /g, "-"));
console.log(str);

Nota

Se você quiser um único hífen na substituição de vários espaços consecutivos, você poderia repetir o espaço de 1 ou mais vezes usando +ou correspondem a 1 ou mais espaços em branco caracteres usando\s+

Com a questão atualizado, obter o texto do elemento:

var elm = document.getElementById("tt");
elm.textContent = elm.textContent.replace(/__tt[^]*?tt__/g, m => m.replace(/ +/g, "-"));
<textarea id="tt" rows="4" cols="50">This is a long text __tt where i want
to replace
some text tt__ between some character
</textarea>

Acho que você gosta

Origin http://10.200.1.11:23101/article/api/json?id=384174&siteId=1
Recomendado
Clasificación