JavaScriptを見つけて、指定した文字の間に文字を置き換えます

Pugazh:

私はすべてを交換しようとしている[space]-の間__ttおよびtt__

私は置き換えることができますスペースを以下の正規表現と文字列全体に。

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>

私だけの間で置き換える行うことができます方法はあり__tttt__タグが???

第四鳥:

まだ完全にはすべてのブラウザでサポートされていない前後参照、なくても唯一の選択マッチ上でコールバック関数を使用して、交換を使用する場合があります。

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);

注意

あなたは、複数の連続するスペースの代替でハイフンをしたい場合は、使用してスペースを1回以上繰り返すことができ +、または使用して1つの以上の空白文字と一致します\s+

更新質問では、要素のテキストを取得します:

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>

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=384175&siteId=1