javascript - JavaScript 中的正则表达式在 uglifyjs 或 minify 运行后替换函数中断脚本

标签 javascript regex

比我有更多正则表达式经验的人可以帮助我吗?

return path.replace(/\//g, '.').replace(/^\./, '');

我在一个巨型应用程序的 js 文件中找到了这个正则表达式。当通过 npm node-minify 或任何其他程序运行时,JS 将其视为注释并将其转换为:

return path.replace(/\g, '.').replace(/^\./, '');

我得到的第一位是将所有\替换为 .第二位 trim 任何前导 .从字符串中。我可以更改此设置,以便将正则表达式模式括在引号中吗?

最佳答案

只需使用 RegExp构造函数并引用您的模式。

const path = '/usr/bin/env';
const matchSlash = new RegExp('/', 'g');
const translate = path => path.replace(matchSlash, '.').replace(/^\./, '');
console.log(translate(path));

关于javascript - JavaScript 中的正则表达式在 uglifyjs 或 minify 运行后替换函数中断脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43129052/

相关文章:

javascript - jQuery 代码组织和性能

javascript - 有没有办法对 HeaderFooterLayout 中的标题大小进行动画处理?

javascript - 如何使用svg g实现可折叠树结构

regex - grep 查找字符串,后跟匹配的两个或三个字符

javascript - 多个电话号码验证

javascript - PHP使用php jquery ajax显示和隐藏数据

javascript - 如何为 Electron 中的特定窗口制作单独的菜单?

python 正则表达式匹配不起作用

c# - 为什么我的 100,000 英镑被转换为 100 而不是 100000,这可能是正则表达式的问题?

java - 尝试提取 HTML 属性时我的正则表达式失败