// 表情的規(guī)則
NSString *emotionPattern = @"\\[[0-9a-zA-Z\\u4e00-\\u9fa5]+\\]";
// @的規(guī)則
NSString *atPattern = @"@[0-9a-zA-Z\\u4e00-\\u9fa5]+";
// #話題#的規(guī)則
NSString *topicPattern = @"#[0-9a-zA-Z\\u4e00-\\u9fa5]+#";
// url鏈接的規(guī)則
NSString *urlPattern = @"\\b(([\\w-]+://?|www[.])[^\\s()<>]+(?:\\([\\w\\d]+\\)|([^[:punct:]\\s]|/)))";
// | 匹配多個(gè)條件,相當(dāng)于or\或
NSString *pattern = [NSString stringWithFormat:@"%@|%@|%@|%@", emotionPattern, atPattern, topicPattern, urlPattern];
NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:pattern options:0 error:nil];
// 2.測(cè)試字符串
NSArray *results = [regex matchesInString:testStr options:0 range:NSMakeRange(0, testStr.length)];
// 3.遍歷結(jié)果
for (NSTextCheckingResult *result in results) {
NSLog(@"%@ %@", NSStringFromRange(result.range), [testStr substringWithRange:result.range]);
}
iOS正則匹配
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 16/7/12:最近用到正則表達(dá)式,查到一個(gè)很有用的文章:揭開正則表達(dá)式的神秘面紗.包括多種字符匹配,自定義次數(shù)匹...
- 開發(fā)過程中難免會(huì)遇到一些驗(yàn)證信息:手機(jī)號(hào)、用戶名/名字、驗(yàn)證碼、密碼...... 通過oc簡(jiǎn)單的封裝更方便的植入到...
- (BOOL)checkPassword:(NSString *) password{NSString *patte...