我想在xcode中做一個基本的正則表達式,它不合作。ios NSRegularExpression麻煩
NSString *urlString = @"http://www.youtube.com/v/3uyaO745g0s?fs=1&hl=en_US";
NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"/.*?v=(.*)&.*/" options:NSRegularExpressionCaseInsensitive error:&error];
NSTextCheckingResult *fmis = [regex firstMatchInString:urlString options:0 range:NSMakeRange(0, [urlString length])];
if(fmis) {
NSRange match = [fmis range];
NSLog(@"%i", match.location);
}
本質上,我只是試圖吸取3uyaO745g0s
出urlString。我認爲正則表達式是最好的方式?感謝您看我的問題。
**編輯**
有時網址看起來像這樣:http://www.youtube.com/watch?v=3uya0746g0s
,我要捕捉的VID爲好。
對於你的第二個例子,你可以通過像這樣['[[url查詢] componentsSeparatedByString:@「=」] lastObject]'來獲取它。請注意,如果你的查詢中有多個參數,你應該實現額外的邏輯來只抓取'v'的值......但你明白了......另外,RestKit有一個很好的類別來完成這個任務。在這裏瞭解更多=> http://restkit.org/api/0.10.3/Categories/NSString+RKAdditions.html – Alladinian