2010-03-02 49 views
0

我需要在HTML文檔中搜索reg-exes(電子郵件,電話號碼等)和文字。這些比賽需要突出顯示並且可以錨定,以便可以生成鏈接以跳轉到比賽的位置。因此,不僅需要使用需要的模式來查找匹配,而且還需要添加正確的html代碼。快速找到使用javascript的大文檔中的正則表達式匹配?

我目前使用jquery,但我對速度不是很滿意。在1.5mb的文件中,匹配2個正則表達式需要大約5秒的時間,而當我添加更多的搜索條件時,它會增加。

有誰知道一個快速的方法來找到使用javascript的大文檔中的正則匹配嗎?

回答

1

你說你是「使用jQuery」,但你沒有說如何。你有沒有試過一個「高亮」插件(或者,因爲它聽起來像你需要的,推導出一個)?我用過這個:http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html,它對我來說似乎並不慢。同樣,你必須在它上面添加你需要的標記,但這應該很清楚 - 它不是很大。

這似乎是你想要做的表現是把你的正則表達式,並結合成什麼相當於一個「標記語法」。換句話說,你不想從頭開始尋找整個文檔中的每個正則表達式。相反,你需要用一個正則表達式來匹配每個可能的目標(當然是一次),並且每次找到一個你會用適當的替換它。這樣,無論文件有多大,無論您要查找多少模式,您都可以對文檔進行一次掃描。

編輯 Burkard先生的插件不允許您用正則表達式搜索;它在內部使用「indexOf」。嗯。