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>
私だけの間で置き換える行うことができます方法はあり__tt
とtt__
タグが???
第四鳥:
まだ完全にはすべてのブラウザでサポートされていない前後参照、なくても唯一の選択マッチ上でコールバック関数を使用して、交換を使用する場合があります。
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>