正規表現のメタ文字をエスケープ

正規表現にマッチさせるときにメタ文字があるとエラるので

var foo = 'hoge(fuga';
'hoge(fuga'.match( new RegExp(foo) ); // error

こうすといいらしい。

var foo = 'hoge(fuga'.replace(/\W/g,'\\$&');
'hoge(fuga'.match( new RegExp(foo) ); // ok