将正则expression式放在string中

我试图dynamic创build一个JavaScript文件B使用JavaScript文件A(写在Node.js)通过写一个string从A到.js文件B.我想在JavaScript文件B中使用正则expression式。这需要我将B的正则expression式函数放在A中的string中。但是,无论何时使用反斜线(转义字符),文件A立即解释正则expression式函数,而不是将其视为string。

一些代码来帮助理解我的问题:

 var mongodata = "Some String with square and curly brackets ]}{]]},]},}{}{{}},{[[][,][,"; mongodata = 'var mongodata = ' + mongodata + ';\n function setData(){mongodata = mongodata.replace(/\[ /g,"").replace(/\] \},/g,"</td></tr>").replace(/\] \}/g,"</td></tr>"); document.getElementById("mongodata").innerHTML = mongodata;}'; 

mongodatastring旨在用作dynamic创build的.js文件的内容。

我明白这个问题的措辞可能会有些混乱。 请让我知道是否需要更多的澄清。

在你的string中,就像\n字符一样,所有其他的反斜杠expression式都被计算,所以你必须避免反斜杠。 换句话说,编写一个输出RegExp的RegExp。 逃避反斜杠本身的正确方法是,但是你也可能需要逃避其他angular色,以防止他们的评价。

也许我误解了你的问题,但也许把string分配给mongodata转义引号:

var mongodata = "\'Some String with square and curly brackets ]}{]]},]},}{}{{}},{[[][,][,\'";

这一个彩票的位。 我也不太了解你的问题。

您可以转义所有RegEx特殊字符(。*?[]等)。 您还可以使用以下方式dynamic创buildRegEx运算符:

 var objRegEx = new RegExp( pattern, modifiers ); 

就像我说的那样,彩票在黑暗中刺…