首页 > 其他 > 详细

正则表达式

时间:2015-07-01 23:33:41      阅读:561      评论:0      收藏:0      [点我收藏+]

匹配规则:pattern

 

NSRegularExpressionCaseInsensitive  = 1 << 0,

匹配规则中的字符串忽略大小写

NSRegularExpressionAllowCommentsAndWhitespace  = 1 << 1, 忽略空白和# 前缀在匹配规则

NSRegularExpressionIgnoreMetacharacters        = 1 << 2,     把整个字符串作为 匹配规则

NSRegularExpressionDotMatchesLineSeparators    = 1 << 3,    允许 .  来匹配任意字符 包括 换行符

NSRegularExpressionAnchorsMatchLines           = 1 << 4,     允许^ $ 来匹配 开始和结束

NSRegularExpressionUseUnixLineSeparators       = 1 << 5,    把/n作为分隔符

NSRegularExpressionUseUnicodeWordBoundaries    = 1 << 6       Use Unicode TR#29 to specify word boundaries (otherwise, traditional regular expression word boundaries are used).

 


    //查找目标字符串中所有符合规则的‘结果字符串‘
-(void)test2{
    //1. 目标字符串
    NSString *str = @"has92rjlsfu98wnerlkehjkmw30unsn0jkj2";
   
    //2.查找规则
    //2.1 两位 第一位字母 第二位数字
    NSString *partern = @"[a-z][0-9]";
   
    //3.创建正则表达式对象
    NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:partern options:NSRegularExpressionCaseInsensitive error:nil];
   
    //4.开始匹配  返回数组
    NSArray *results = [regular matchesInString:str options:NSMatchingReportCompletion range:NSMakeRange(0, str.length)];
   
    //5.如果查找的数组不为空 遍历查找到的结果
    if (results != nil) {
        for (NSTextCheckingResult *result in results) {
            NSString *resultStr = [str substringWithRange:result.range];
            NSLog(@"%@",resultStr);
        }
    }
   
}


//查找目标字符串中的第一个符合规则的‘结果字符串‘
-(void)test{
   
    //目标字符串
    NSString *str = @"kjsjfjio2398jkn982j47sdj92hbkj";
   
    //匹配规则
    //查找两个字节 第一个为数字  第二位字母
    NSString *pattern = @"[0-9][a-z]";
   
    // 1.创建正则表达式对象
    NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
   
    //2.开始匹配
    //查找目标字符串中符合规则的第一个
    NSTextCheckingResult *result = [regular firstMatchInString:str options:NSMatchingReportCompletion range:NSMakeRange(0, str.length)];
    //查找结果中有Range属性  为找到的内容在目标字符串中的范围
    //根据result.range拼接‘结果字符串‘
    NSString *resultStr = [str substringWithRange:result.range];
    NSLog(@"%@",resultStr);
}

正则表达式

原文:http://www.cnblogs.com/guozhenhu/p/4614735.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!