iOS正則表達式

 // 其中^[0-9]+$表示字符串中只能包含>=1個0-9的數(shù)字。
    NSString* numberRE=@"[A-Z]";
    NSString *textString = @"aBDc876";
    
    //1.謂詞和正則表達式配合使用,這相當(dāng)于re的MATCHES模式全匹配
    NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",numberRE];
    BOOL r1 = [numberPre evaluateWithObject:textString];
    NSLog(@"r1:%i",r1);
    
    //2.字符串查找,注意NSRegularExpressionSearch這里是正則search模式
    NSRange range = [textString rangeOfString:numberRE options:NSRegularExpressionSearch];
    if (range.location != NSNotFound) {
        NSLog(@"r2:%@", [textString substringWithRange:range]);
    }

/**
NSRegularExpressioncasesincensitive=1<<0,/*匹配不區(qū)分大小寫的模式中的字母*/
NSRegularExpressionalowcommentsandwitespace=1<<1,/*忽略模式中的空格和#-前綴注釋*/
NSRegularExpressionIgnoreMetacharacters=1<<2,/*將整個模式視為文本字符串*/
NSRegularExpressionDotMatchesLineSeparators=1<<3,/*允許。匹配任何字符,包括行分隔符*/
NSRegularExpressionAnchorsMatchLines=1<<4,/*允許^和$匹配行首和行尾*/
NSRegularExpressionUseUnixLineSeparators=1<<5,/*僅將\n視為行分隔符(否則,將使用所有標(biāo)準(zhǔn)行分隔符)*/
NSRegularExpressionuseunicodewordbordings=1<<6/*使用Unicode TR#29指定單詞邊界(否則,將使用傳統(tǒng)的正則表達式單詞邊界)*/
*/

    //3.正則表達式類(NSRegularExpression),根據(jù)不同的枚舉NSRegularExpressionDotMatchesLineSeparators選擇不同的正則匹配模式
    NSError *error = NULL;
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:numberRE options:NSRegularExpressionDotMatchesLineSeparators error:&error];
//3.1找到第一個    
NSTextCheckingResult *result1 = [regex firstMatchInString:textString options:0 range:NSMakeRange(0, [textString length])];
    if (result1) {
       NSLog(@"r3_1:%@ %@",result1,[textString substringWithRange:result1.range]);
    }
    
//3.2找出全部結(jié)果
    NSArray *resultArr = [regex matchesInString:textString options:(0) range:NSMakeRange(0, [textString length])];
    if (resultArr.count > 0) {
        for (NSTextCheckingResult *result in resultArr) {
            NSLog(@"r3_2:%@ %@",result,[textString substringWithRange:result.range]);
        }
    }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容