Objective c 在IOS中捕获匹配的字符串-匹配由NSPREDICATE完成
我有一个匹配正则表达式和字符串的代码。一旦我执行了代码,结果显示匹配为YES 有人能帮我在其他地方单独提取匹配的字符串吗 下面是我的代码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}
(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,这也会帮助别人。