次のコードが与えられます:
var a = 'somegarbage=http://somesite.com/foo/bar/&moregarbage';
var result = a.match(/http.+\//g);
期待される結果を生成します。["http://somesite.com/foo/bar/"]
さて、これを行うと:
var a = 'somegarbage=http://somesite.com/foo/bar/&moregarbage';
var config = JSON.parse('{"filter":"/http.+\\//g"}'); //notice the extra '\'?
var result = a.match(config.filter);
nullを返します。\
JSONでの文字列のエスケープに関係していると思います。簡単な解決策が欠けているような気がします。どうすればこれを修正できますか?ありがとう。
編集:
私もこれを試しましたが、機能しません:
var a = 'somegarbage=http://somesite.com/foo/bar/&moregarbage';
var config = JSON.parse('{"filter":"/http.+\\//g"}'); //notice the extra '\'?
var result = a.match(new RegExp(config.filter));