我正在尝试从字符串或文本中删除所有控制台。() 而这段代码不起作用,为什么?
var str = "console.log('test')";
var pattern = /console\..*\(.*\);/gm;
console.log(str.replace(pattern, ""));
最佳答案
它不起作用,因为在您的测试字符串中没有 ;
但是 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/