2016-07-07 9 views
0

私は、コードの上に使用していますが、いずれかを私に提供することができ、私は正規表現でいくつかの問題が自分のだと思い、働いていない有効なVimeoのURLをチェック

-(BOOL) validateUrl2: (NSString *) candidate2 
{ 


    NSString *urlRegEx2 = @"(https://vimeo.com/(channels/[a-zA-Z]+/){0,1}[0-9]+[?]{0,1}.*$))"; 

    NSPredicate *urlTest2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx2]; 

    urlCheck2 = [urlTest2 evaluateWithObject:candidate2]; 

    return [urlTest2 evaluateWithObject:candidate2]; 

} 

をチェックしますRegExは、私はurherが@https://vimeo.com/anythingを含んでいるかどうかをチェックしたいと思っています。

答えて

1
-(BOOL) validateUrl2: (NSString *) urlString 
{ 

    NSString *urlRegEx2 = @"http://.*vimeo\\.com/.*/(\\s|$)"; 
    NSPredicate *urlTest2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx2]; 
    urlCheck2 = [urlTest2 evaluateWithObject:candidate2]; 
    return [urlTest2 evaluateWithObject:candidate2]; 

} 

編集:私はあなただけのホストをチェックし、なぜURLが "https://vimeo.com/anything"

@のようなものであるかどうかを確認したいですか?

-(BOOL) validateURLWithString: (NSString*)urlString { 
    NSURL* url = [NSURL URLWithString:urlString]; 
    if ([url.host isEqualToString:@"vimeo.com"]) 
     return YES; 
    return NO; 
} 

あなたはまた、スキーム

[url.scheme isEqualToString:@"https"] 
が何であるかを確認することができます