我想在4k +網頁上刪除一些垃圾js代碼。網頁上也有其他的js,所以我只需要用一個叫做clickIE的特定函數來擺脫JS。perl正則表達式查找和替換
我有這樣的一個班輪工作,直到我介紹了正則表達式......當http://www.gskinner.com/RegExr/測試,但沒有在命令行上
perl -p -i -e 's|<script(.*)>.*clickie.*?<\/script>|<\!--REMOVED-JS-CODE-->|gixsm' ./*.html
我正則表達式正常工作......(失敗的意義......正則表達式不匹配任何東西)
爲什麼你用貪婪而不是懶惰匹配?什麼*具體*你的意思是「失敗」? – 2011-12-18 07:47:34
@MarkByers你的建議收緊了它。謝謝。當我在http://www.gskinner.com/RegExr/進行測試時,它的工作情況很好。當我從命令行運行它時,它不會執行替換。 'perl -p -i -e's | '。無可否認,你不可能在你看到的資料來源的任何地方在引用中找到'clickie',但在一般情況下可能不太可能。 解決這個安全問題涉及到使用JavaScript解析器僅查找目標字符串被用作函數名稱的情況,這是一個有點難度的問題。 – 2011-12-19 11:03:16