码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2015-07-01 23:33:53      阅读:230      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!