0
我有以下代碼:NSRegularExpression的numberOfMatchesInString總是返回一個!
NSString *text = @"http://bit.ly/111 http://bit.ly/222 http://www.www.www";
NSRegularExpression *aLinkRegex = [NSRegularExpression regularExpressionWithPattern:@".*http://.*" options:NSRegularExpressionCaseInsensitive error:nil];
NSUInteger numberOfMatches = [aLinkRegex numberOfMatchesInString:text options:0 range:NSMakeRange(0, [text length])];
我想找到HTTP的的文本(我知道這是不是一個很好的正則表達式)的數目,但numberOfMatchesInString總是返回1,而它應該返回3上面的代碼。
有人能告訴我上面的代碼有什麼問題嗎?
乾杯,
這解釋了很多。我真的需要閱讀更多關於正則表達式的知識。謝謝肯德爾,你是最棒的。 – Motasim 2010-08-02 05:26:24
Mota:更好的辦法是使用John Gruber的URL匹配正則表達式(假設它適用於NSRegularExpression)http://daringfireball.net/2010/07/improved_regex_for_matching_urls或Stephen Holt的AutoHyperlinks框架:https://bitbucket.org/sholt/autohyperlinks2/wiki /主頁 – 2010-08-02 06:08:09
我想提到的是,儘管如果他只是有一系列空格分隔的URL,更簡單的方法將會便宜得多。 想想吧,如果是這樣的話,他真的應該只使用componentsSeperatedByString – 2010-08-02 16:19:40