2012-02-13 56 views
0

我嘗試YQL使用jQuery,和一些JavaScript替換正則表達式返回一個語法錯誤:JavaScript的替換()返回正則表達式語法錯誤

data = data.replace(/<?/body[^>]*>/g,''); 
data = data.replace(/<noscript[^>]*>[Ss]*?</noscript>/g,''); 
data = data.replace(/<script[^>]*>[Ss]*?</script>/g,''); 
data = data.replace(/<script.*/>/,''); 

有誰知道什麼是錯的語法以及我如何修理它?

在此先感謝

完整的腳本:http://pastebin.com/49YUKTdV

+0

爲什麼你只要註釋掉? – Jivings 2012-02-13 19:32:57

+0

哪一行給出錯誤?例如。看第1行 - 你使用'/'作爲模式邊界,然後再次使用正則表達式。 – BartekR 2012-02-13 19:57:48

+1

我編輯你的問題(刪除評論)。現在代碼着色器讓你看到問題的確切來源。使用具有正確代碼着色的編輯器,發現這樣的問題會容易得多。 – kapa 2012-02-14 08:30:31

回答

1

/在你的正則表達式被打破它,你需要逃避他們都:

/<script.*/>/ 
      ^----- this one needs to be escaped 

/<script.*\/>/ 
+0

轉義字符!天哪,我爲什麼沒有想到這一點..感謝您提供一個快速和正確的答案! – user764155 2012-02-14 18:45:58