1

これは機能しています

newRow.replace('[[' + key + ']]', item);

しかし、正規表現に置き換えようとしましたが、機能しません

newRow.replace('/\[\[' + key + '\]\]/'g, item);
4

1 に答える 1

5

文字列リテラル構文を使用するには、RegExp コンストラクターを使用する必要があります。

newRow.replace(new RegExp('\\[\\[' + key + '\\]\\]', 'g'), item);

\\の代わりに使用する必要があることにも注意してください\。これは、\が文字列リテラル構文で独自の意味を持つためです。したがって\、コンストラクターに渡される文字列でリテラル文字を取得するには、エスケープする必要があります。

于 2012-10-16T01:20:30.740 に答える