天天看点

关于用正则表达式判定url链接,并排除汉字

发个广告:ios开发两年了,一步步走来  关注公众号一起进步

关于用正则表达式判定url链接,并排除汉字

- (BOOL)urlValidation:(NSString *)string {

    NSError *error;

    // 正则1

    NSString *regulaStr =@"\\bhttps?://[a-zA-Z0-9\\-.]+(?::(\\d+))?(?:(?:/[a-zA-Z0-9\\-._?,'+\\&%$=~*!():@\\\\]*)+)?";

    // 正则2

    regulaStr =@"((http[s]{0,1}|ftp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)";

    NSRegularExpression *regex = [NSRegularExpressionregularExpressionWithPattern:regulaStr

                                                                          options:NSRegularExpressionCaseInsensitive

                                                                            error:&error];

    NSArray *arrayOfAllMatches = [regexmatchesInString:string options:0range:NSMakeRange(0, [stringlength])];

    for (NSTextCheckingResult *matchin arrayOfAllMatches){

        NSString* substringForMatch = [stringsubstringWithRange:match.range];

         NSLog(@"匹配");

        returnYES;

    }

    return NO;

}