我正在尝试使用 JavaScript 文件 A(用 Node.js 编写)动态创建 JavaScript 文件 B,方法是将 A 中的字符串写入 .js
文件 B。我想在 JavaScript 文件 B 中使用正则表达式。这需要我将 B 的正则表达式函数放入 A 中的字符串中。但是,每当我使用反斜杠(转义字符)时,文件 A 都会立即解释正则表达式函数,而不是将其视为字符串。
一些有助于理解我的问题的代码:
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;}';
该 mongodata
字符串旨在用作动态创建的 .js
文件的内容。
我理解这个问题的措辞可能有点令人困惑。如果需要更多说明,请告诉我。
最佳答案
在您的字符串中,就像 \n
字符一样,所有其他反斜杠表达式都将被计算,因此您必须转义反斜杠。换句话说,编写一个输出正则表达式的正则表达式。转义反斜杠本身的正确方法是 \\\
,但您可能还需要转义其他字符以防止其求值。
关于javascript - 将正则表达式放入字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17244479/