Objective c 在IOS中捕获匹配的字符串-匹配由NSPREDICATE完成

Objective c 在IOS中捕获匹配的字符串-匹配由NSPREDICATE完成,objective-c,Objective C,我有一个匹配正则表达式和字符串的代码。一旦我执行了代码,结果显示匹配为YES 有人能帮我在其他地方单独提取匹配的字符串吗 下面是我的代码 (void)viewDidLoad { NSString *string = @"@002@[00152-614[4000846555@"; NSString *expression = @"[\-@0]{1}[0-9]{3}[\-@]{1}[\[0]{1}[0-9]{5}[\-0]{1}[0-9]{3,}[\[0]{1}

我有一个匹配正则表达式和字符串的代码。一旦我执行了代码,结果显示匹配为YES

有人能帮我在其他地方单独提取匹配的字符串吗

下面是我的代码

    (void)viewDidLoad 
    {
    NSString *string = @"@002@[00152-614[4000846555@";

    NSString *expression = @"[\-@0]{1}[0-9]{3}[\-@]{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

试试这个

 - (BOOL) validateEmail: (NSString *)candidate {
   NSString *emailRegex = @"[\-@0]{1}[0-9]{3}[\-@]{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];
  } 

1) 在上面的代码中,正则表达式与给定字符串的比较在哪里?2)在哪里提取了匹配的字符串Praveenkumar@praveenkumar您只需通过传递要与“emailRegex”进行比较的字符串参数来调用此方法如果你喜欢我的ans,那么你就可以接受我的ans,这也会帮助别人。