2019-10-11

/**
*获取需要处理的子字符串和子串的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;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容