javascript - 字符串替换正则表达式不起作用

标签 javascript regex

我正在尝试从字符串或文本中删除所有控制台。() 而这段代码不起作用,为什么?

var str = "console.log('test')";
var pattern = /console\..*\(.*\);/gm;
console.log(str.replace(pattern, ""));

http://plnkr.co/edit/gzFPopi1qdd6PYZz2urM?p=preview

最佳答案

它不起作用,因为在您的测试字符串中没有 ; 但是 regexp 需要一个。只需使用 ? 将其设为可选:

var pattern = /console\..*?\(.*?\);?/gm;

还要确保匹配不是贪婪的 .*?

查看下面的测试演示。

var str = "some string console.log('test'); and console.log(123) \
console.log('123', 12, 'asd'); \
test";

alert( str.replace(/console\..*?\(.*?\);?/gm, '') );

关于javascript - 字符串替换正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27604492/

相关文章:

php - UTF 8 字符串删除除换行符外的所有不可见字符

regex - Gulp:如何匹配所有图像文件类型

javascript - 具有多个元素的 Bootstrap 5 轮播

javascript - 如何动态添加行到html表

regex - 用于批量替换的 Visual Studio Regex

Python 2.x 正则表达式 : halve all measures in px ("10px" becomes "5px" and so on)

r - 多模式搜索 - 从文档中选择命中率最高的行

javascript - JavaScript for 循环中的 jQuery 不起作用

javascript - 调用 React 组件以像警报功能一样显示

javascript - NodeJs 中的级联 require,要求一个文件需要另一个文件 NodeJs