/**
*获取需要处理的子字符串和子串的range
*/
-(NSArray<NSTextCheckingResult *> *)getBBSLetterSubStrRangeArrWithStr:(NSString *)str{
//[...]表情
//@"\[[a-zA-Z\u4e00-\u9fa5]+\]"
NSString *emopattern=@"\[[\u4e00-\u9fa5\w]+\]" ;
//#...#话题
//@"#[0-9a-zA-Z\u4e00-\u9fa5]+#"
// @"#[\u4e00-\u9fa5\w\s]+#";
NSString *toppattern = @"#[^#]+#";
//@...@
//@"@[0-9a-zA-Z\U4e00-\u9fa5]+"
NSString atpattern = @"@[\u4e00-\u9fa5\w]+";
//url
//@"http://[-a-zA-Z0-9+&@#/%?=~_|!:,.;][-a-zA-Z0-9+&@#/%=~_|]"
NSString *urlpattern = @"\b(([\w-]+://?|www[.])[\s()<>]+(?:\([\w\d]+\)|([[:punct:]\s]|/)))";
NSString *pattern = [NSString stringWithFormat:@"%@|%@|%@|%@",emopattern,toppattern,atpattern,urlpattern];
NSRegularExpression *regular = [[NSRegularExpression alloc] initWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
NSArray *results = [regular matchesInString:str options:0 range:NSMakeRange(0, str.length)];
return results;
}
网友评论