我试图从字符串或文本中删除所有控制台。()并且此代码无效,为什么?
var str = "console.log('test')";
var pattern = /console\..*\(.*\);/gm;
console.log(str.replace(pattern, ""));
答案 0 :(得分:3)
它不起作用,因为在你的测试字符串中没有;
,但正则表达式需要一个。只需使用?
:
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, '') );