2011-09-09 121 views
-1

我已經在c#中構建一個小的部署.exe來做一些事情,比如聯合和分鐘我的JS和CSS。C#正則表達式來註釋console.log

我需要的是一個正則表達式,我可以用它來註釋掉JavaScript文件中的所有console.log語句。

+1

你有什麼試過?什麼沒有用?你能解釋一下你在哪裏遇到困難嗎?我們不會爲您編寫代碼,特別是如果您實際上沒有提出問題。 – Oded

+0

我沒有嘗試過正則表達式之前。我只是用//console.log替換console.log。問題是可以在同一行上有JS,因此我需要改爲執行諸如/*console.log('foo');*/ – Adam

+0

之類的操作。爲什麼您需要將它們全部註釋掉? – Oded

回答

0

這可以讓你開始:

var str = "hello console.log('hello'); bye"; 
var replaced = Regex.Replace(str, @"(?<log>console\.log\(.*?\);?)", @"/* ${log} */"); 

基本上我們正在做的是尋找的console.log(...)與括號之間的非貪婪捕獲實例,以及可選console.log後捕獲分號。

請注意,如果您致電console.log的內容包含贊助人,例如console.log('Hello (bye)');,那麼這不能解決問題 - 但您應該可以調整它以獲得更多效果。