2012-06-28 113 views
0

我有一個代碼來匹配正則表達式和我的string.once我執行代碼結果顯示匹配是YES。在IOS中捕獲匹配的字符串匹配是由NSPREDICATE完成

任何一個可以幫助我在其他位置

單獨提取匹配的字符串這是低於

(void)viewDidLoad 
    { 
    NSString *string = @"@[email protected][00152-614[[email protected]"; 

    NSString *expression = @"[\[email protected]]{1}[0-9]{3}[\[email protected]]{1}[\[0]{1}[0-9]{5}[\-0]{1}[0-9]{3,}[\[0]{1} [0-9\-]{7,}[@0]{1}"; 

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", expression]; 

    BOOL match = [predicate evaluateWithObject:string]; 

    if(match) NSLog(@"match is YES") ; 

    else NSLog(@"match is NO") ; 

    [super viewDidLoad]; 

} 

感謝我的代碼提前

問候

Praveenkumar

回答

0

試試這個

- (BOOL) validateEmail: (NSString *)candidate { 
    NSString *emailRegex = @"[\[email protected]]{1}[0-9]{3}[\[email protected]]{1}[\[0]{1}[0-9]{5}[\-0]{1}[0-9]{3,}[\[0]{1} [0-9\-]{7,}[@0]{1}"; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 
    return [emailTest evaluateWithObject:candidate]; 
    } 
+0

感謝SmartWork –

+0

1)在你與我的給定的字符串 2)你去哪兒提取匹配的字符串 提前感謝 比較正則表達式上面的代碼|問候 Praveenkumar –

+0

@ praveenkumar你只需通過傳遞你想要與「emailRegex」字符串比較的字符串參數來調用這個方法。 – freelancer