我正在寫一個iPhone應用程序,必須從網站上拉原始HTML數據,抓取鏈接的URL和鏈接的顯示文本。使用正則表達式解析<a href src="">Links</a>出NSString
例如在類似<a href="www.google.com">Click here to go to google</a>
它會拉搶 URL = www.google.com 文本=點擊這裏去谷歌
我使用regexlite庫,但我絕不是正則表達式的專家,我嘗試了幾件事情來實現這個功能。
我想用下面的代碼
NSString *searchString = @"$10.23, $1024.42, $3099";
NSString *regexString = @"\\$((\\d+)(?:\\.(\\d+)|\\.?))";
NSArray *capturesArray = NULL;
capturesArray = [searchString arrayOfCaptureComponentsMatchedByRegex:regexString];
所以我的問題是誰能告訴我什麼是搜索字符串將解析HTML鏈接或指向我一個明確的教程我如何regexlite作品已經厭倦了閱讀在http://regexkit.sourceforge.net/RegexKitLite/的文件,我不明白。
由於提前,
Zen_silence
如果HTML實際上是高度結構化的 - 那麼你自己會說「假設結構良好的HTML」,那將會很棒。在一般情況下,你實際上不能假設這一點,而當你僅僅想要一個鏈接時,試圖將整個HTML解析爲一個DOM是很困難的。 – 2010-01-04 06:40:47
Yah - 但是,如果結構錯誤的HTML,您經常遇到跨多行的錨,否則就會迷惑正則表達式。如果您需要處理破碎的輸入,最好使用某種HTML解析器並處理它所噴出的任何DOM。 – bbum 2010-01-05 03:02:38
我正在使用非常糟糕的HTML我沒有控制結構,所以它更容易,如果我只是抓住一切是一個鏈接,我已經得到我的HTML使用子字符串搜索可管理的大小。我寧願用正則表達式來抓取我需要的情侶。 除非你能指向我一個很好的html解析包裝器,因爲SDK中提供的包裝器不是很好,我以前使用過。我嘗試了hpple庫,但我無法弄清楚如何讓它運行 – 2010-01-05 04:30:07