javascript - 将正则表达式放入字符串中

标签 javascript html regex node.js escaping

我正在尝试使用 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/

相关文章:

javascript - 如何将用 typescript 消耗品编写的组件发布为全局、commonjs 或 typescript 模块

python - 在 Beautiful Soup 中找不到 <span> 标签内的元素

r - 在年之前添加月份

javascript - 安装时将所有 (*.js) 或 (*.css) 文件批量添加到服务工作线程缓存

javascript - 基于 Skill Javascript 创建名称 map

javascript - 实现 css slider 不工作,显示灰色背景

regex - 展开对象数组 mongoDB

java - 正则表达式匹配 Java 中的特定 HTTP header 值

javascript - 图片显示在 chrome 但不是 safari

jquery - 转到类(class)链接