正規表現全体を構成するために正規表現からのサブ結果を使用することは可能ですか?このスニペットを検討してください:
var ret = "{hello} {world}";
ret = ret.replace(/(^|[^{}])(\{|\})([^{}]|$)/g, '$1$2$2$3');
ret; // {{hello}} {{world}}
しかし、私がまとめる}{
と、上記の正規表現は失敗します。これは、文字列のいずれも、}{
または文字列の先頭に対してテストし{}
、次にいずれ{}
かの文字列または文字列の最後に対してもテストしているため、意味があります。
var ret = "{hello}{world}";
ret = ret.replace(/(^|[^{}])(\{|\})([^{}]|$)/g, '$1$2$2$3');
ret; // {{hello}{world}}
最初の結果セットを使用して2番目を作成し、次に3番目を作成することは可能ですか:
/(^|[^{}])($1)([^{}]|$)/g, '$1$2$2$3'
// $1 - or something similarly
乗算·replace
メソッド呼び出しを使用できることは承知していますが、1 つだけでもクールです。
ありがとう
コードの可読性を考慮しないでください。