我正在被使用replaceText插件包網頁上的所有字(和多餘的空格/標點)在span標記一個書籤。該插件遍歷頁面上的所有文本節點,並允許我調用一個函數來操作每個頁面的內容,而不會破壞頁面上的任何其他HTML格式。 (這些都不是問題,我很確定,但我覺得上下文可能有用)。我對該函數的調用看起來是這樣的,供大家參考:如何將正則表達式中的「* /」解釋爲塊註釋?
$("body *").replaceText(/\S+\s*/g, spanWrap);
的問題是最好的正則表達式我已經找到了我的目的,分離這些詞 - /\S+\s*/g
- 包含結束字符塊註釋(「* /」)。如果我在Notepad ++中的.js文件之前添加塊註釋的開頭幾行,我可以看到語法突出顯示器正在讀取它。
當我跑我的書籤,大多數網站似乎與這個問題沒有任何問題和書籤按預期工作。然而,一些網站,其原因我無法預測,拋出了一個「Uncaught SyntaxError: Unexpected token <
」錯誤和書籤中斷/停止運行。如果我改變我使用的replaceText
功能的正則表達式來一個我一直在使用的書籤的早期版本 - /\b(\S+?)\b/g
- 同時改變絕對沒有其他的書籤,這些網站停止給錯誤和書籤工作得很好,所以我必須相信它是由於引起它的塊註釋閉包的存在。
對於我想要做的書籤的目的,雖然,它的表達與該評論封閉 - /\S+\s*/g
- 作品很多,比另一個,它不會標點符號更好和白色空間。但是,如果我的小書籤在某些網站上沒有中斷,我也很喜歡它。
那麼,有沒有任何辦法解決的正則表達式,我有那麼它沒有被讀作評論,或者你可以建議一個可以與不同的語法什麼的,也許做同樣的工作嗎? (如果它不是來自我的問題很明顯,我有多麼的正則表達式的工作,並通過複製他們從其他堆棧溢出的問題/解答得到了我使用的是在這個例子中,那些最起碼的理解)
我懷疑任何JavaScript引擎解釋這個序列作爲註釋的結束。那真的很奇怪。 – 2013-02-18 14:46:05
什麼是'spanWrap'? – Anirudha 2013-02-18 14:46:48
@FelixKling - 我會感到驚訝,如果任何沒有:http://jsbin.com/ocomuy/1/ – Quentin 2013-02-18 14:47:17