iOS中正则表达式封装好的第三方文件

iOS中正则表达式封装好的第三方文件  我已经上传了资源哦~ 需要的话可以去下载哦



#import <Foundation/Foundation.h>
#import "NSString+Extension.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
       
 //        NSString *string = @"1175497943";
//        
//        NSLog(@"%d",string.isQQ);
//        NSLog(@"%hhd",string.isPhoneNumber);
       
        /* 正则表达式的用处 */
       
        // 1.判断字符串是否符合某个特定的规则
        /* 判断某个字符串是否为QQ号码\电话号码\邮箱 */
       
        // 2.截取字符串中符合某个特定规则的内容
        /* 截取链接,表情,话题.@ */
       
        NSString *string = @"#呵呵呵#翻翻她的微博 [偷笑]超治愈系暖心短句 @123冬冬 整个人都舒心了[挖鼻屎] 还有拿不完的情侣头像 #这是个话题#你一定会爱上[亲亲] 喜欢关[心]注她@MG头像少女 现实版猫和老鼠,童话里都是骗人的...http://t.cn/RqaxrLy";
       
        // 1.创建正则表达式
       
        // 找出人名的位置
//        NSString *pattern = @"jack";
       
        // 找出英文的位置
//        NSString *pattern = @"[a-zA-Z]+";
#pragma mark - 微博表情,@,话题的高亮
        // 表情的规则  + 代表至少一个  表情只有英文和中文
        NSString *emotionPattern = @"\\[[a-zA-Z\\u4e00-\\u9fa5]+\\]";
       
        // @的规则
        NSString *atPattern = @"\\@[0-9a-zA-Z\\u4e00-\\u9fa5]+";
       
        // 话题的规则
        NSString *topicPattern = @"#[0-9a-zA-Z\\u4e00-\\u9fa5]+#";
       
        // 链接的规则
        NSString *urlPattern = @"\\b(([\\w-]+://?|www[.])[^\\s()<>]+(?:\\([\\w\\d]+\\)|([^[:punct:]\\s]|/)))";
       
        // 全部合在一起这样写(匹配多个条件,相当于or|或)
        NSString *pattern = [NSString stringWithFormat:@"%@|%@|%@|%@",emotionPattern,atPattern,topicPattern,urlPattern];
       
       
        NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:pattern options:0 error:nil];
        // 2.测试字符串
        NSArray *results = [regex matchesInString:string options:0 range:NSMakeRange(0, string.length)];
       
        // 3.遍历结果
        for (NSTextCheckingResult *result in results) {
           
            NSLog(@"%@  %@",NSStringFromRange(result.range),[string substringWithRange:result.range]);
            // 正则表达式的属性Range是常用的.
        }
    }
    return 0;
}

需要自学视频的可以加我微信, ‘zhangdonghui370’   备注 ‘CSDN’

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值