2

変数 rep のため、これは機能しません。正しい構文は何ですか?

var bigtext = 'testing test test test';
var rep = 'test'; 
bigtext = bigtext.replace(/rep/g, "MOO!");

私は問題が置換の正規表現部分にあることを知っています...しかし、それを書く正しい方法は何ですか?

4

1 に答える 1

7

RegExpコンストラクターを使用して正規表現を構築する必要があります。

var bigtext = 'testing test test test';
var rep = 'test'; 
var regex = new RegExp(rep, 'g');
bigtext = bigtext.replace(regex, "MOO!");

このコンストラクターのドキュメントは、MDN ページで見ることができます。[正規表現の特殊文字 ( など) がエスケープされていることを確認する必要があることに注意してください。

于 2012-08-14T14:18:05.173 に答える