iOS-正则表达式使用

正则表达式与NSPredicate连用

- (BOOL)validateNumber:(NSString *)textString {
    NSString *number = @"^[0-9]+$";
    NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",number];
    return [numberPre evaluateWithObject:textString];
}

正则表达式类

NSString *searchText = @"you want to match";    
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[0-9]+$" options:NSRegularExpressionCaseInsensitive error:&error];
NSTextCheckingResult *result = [regex firstMatchInString:searchText options:0 range:NSMakeRange(0, [searchText length])];
if (result) {
    NSLog(@"%@", [searchText substringWithRange:result.range]);
}

分组的使用

NSString *text = @"我是lancely";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^我是(.*?)$" options:kNilOptions error:nil];
NSArray<NSTextCheckingResult *> *matches = [regex matchesInString:text options:kNilOptions range:NSMakeRange(0, text.length)];
if (matches.count) {
    NSRange regexGroupRange = [matches.firstObject rangeAtIndex:1];
    NSString *name = [text substringWithRange:regexGroupRange];
    NSLog(@"名字是:%@", name);
}

相关资料

常用正则表达式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合...
    Lonely__M阅读 3,061评论 4 48
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,064评论 0 20
  • 推荐几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:...
    木易林1阅读 11,541评论 9 151
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,174评论 0 9
  • 几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:ht...
    没技术的BUG开发攻城狮阅读 4,618评论 0 23