c#.net4 - 正則表達式vs html敏捷包

c# html-agility-pack memory regex

什麼更快?我剛剛製作了一個使用HTML Agility Pack的網絡刮刀,它耗費了大量的內存。

使用內存分析器對其進行分析,我發現HTMLDocument,HTMLNode等實例佔用了大量內存。

我覺得使用正則表達式會更快更高效,我錯了嗎?

一般承認的答案

一個reg-ex將比html agilty pack快得多。

但你應該記住,html不一定總能很好地形成。僅使用reg-ex搜索所需的正確數據可能會失敗。瀏覽者對錯誤非常寬容。

敏捷包是一個很好的工具。它為正在消耗的內存提供了許多功能。


熱門答案

根據你到底做了什麼,它確實可以加快速度,並使用正則表達式釋放一些內存。問題是 - 您從中提取數據的頁面是多麼嚴格和格式良好。正則表達式更容易被您在野外遇到的完全有效但意外的HTML結構所混淆。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因