基本上我正在尋找一個使用NSRegularExpression匹配HTML(也是新行和空白)的好例子。匹配HTML和NSRegularExpression
我有這樣的PHP代碼,我寫了一段時間後:
preg_match_all("/<dt>(.+?)<\/dt>\W+<dd>(.+?)<\/dd>/si", $data, $m['deets']);
現在我知道這部作品在PHP,但對我的生活我不能把它翻譯成Objective-C的。這是我的嘗試。
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<dt>(.+?)<\/dt>\W+<dd>(.+?)<\/dd>" options:(NSRegularExpressionCaseInsensitive) error:&error];
return [regex matchesInString:target options:NSCaseInsensitiveSearch range:NSMakeRange(0, [target length])];
我在這種情況下的目標是一堆HTML。
我討厭被「那傢伙」,但有一個很流行的觀點就是圍繞着這些部件與正則表達式處理HTML是一個糟糕的主意......它可能是一個主意尋找一個專用的SGML/HTML解析器。 – 2012-03-12 09:50:17
你用簡單的正則表達式試過了你的代碼嗎? – Martin 2012-03-12 10:27:55
我很欣賞這種情緒,但不幸的是我所刮的網站沒有使用特別好的HTML(加載DOM很粗糙)。 – krut 2012-03-12 11:06:54