注释掉console.log的C#正则表达式
我已经在c#中构建了一个小型的deployment.exe来完成一些事情,比如合并和最小化我的JS和CSS注释掉console.log的C#正则表达式,c#,regex,C#,Regex,我已经在c#中构建了一个小型的deployment.exe来完成一些事情,比如合并和最小化我的JS和CSS 我需要一个正则表达式,可以用来注释JavaScript文件中的所有console.log语句。这可以让您开始: var str = "hello console.log('hello'); bye"; var replaced = Regex.Replace(str, @"(?<log>console\.log\(.*?\);?)", @"/* ${log} */"); va
我需要一个正则表达式,可以用来注释JavaScript文件中的所有console.log语句。这可以让您开始:
var str = "hello console.log('hello'); bye";
var replaced = Regex.Replace(str, @"(?<log>console\.log\(.*?\);?)", @"/* ${log} */");
var str=“hello console.log('hello');再见”;
var replaced=Regex.Replace(str,@“(?console\.log\(.*?\);?)”,@/*${log}*/”;
基本上,我们要做的是查找console.log(…)
的实例,在括号之间有一个非贪婪的捕获,并且可以选择捕获console.log
后面的分号
请注意,如果您对
console.log
的调用包含参数,如console.log('Hello(bye)')代码>,那么这就不能解决这个问题了-但是你应该能够调整它,使它发挥那么大的作用。你尝试过什么?什么不起作用?你能解释一下你到底在哪里遇到困难吗?我们不会为您编写代码,特别是如果您实际上没有提出问题,我以前没有尝试过正则表达式。我只是将console.log替换为//console.log。问题是,同一行上可能有JS,因此我需要做类似于/*console.log('foo')*/为什么你需要把它们全部注释掉呢?因为有很多原因,它不能出现在我的产品JS文件中。它只是为了调试,并不是所有浏览器都支持它,并用您自己的模拟控制台覆盖它。log
不会工作吗?