正则表达式练习(附答案)

正则表达式可以帮我们描述非常复杂的文本格式,通过这些文本格式就可以对文本数据进行检索 替换 修改操作

初级练习

  • 创建一个正则表达式对象
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[0-8]{5,12}" options:NSRegularExpressionCaseInsensitive error:nil];
NSRegularExpressionCaseInsensitive       // 大小写区分

1.匹配电话号码

    NSString *str = @"18345676478";
    //  创建正则表达式对象  匹配规则
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"1[358]\\d{9}" options:NSRegularExpressionCaseInsensitive error:nil];
    //   匹配结果
    NSArray *arr = [regex matchesInString:str options:NSMatchingReportCompletion range:NSMakeRange(0, str.length)];
    if (arr.count>0)
    {
        NSLog(@"匹配成功");
    }else
    {
        NSLog(@"匹配失败");
    }
匹配规则:
1:代表第一位只能是1
[358]:代表第二位只能是358中的一个
\\d{9}: \转义   \d代表只能是数字    {9}前面的数字为9个

2.匹配qq号码

    NSString *str = @"769215561";
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[1-9][0-9]{4,9}" options:NSRegularExpressionCaseInsensitive error:nil]; 
    NSArray *arr = [regex matchesInString:str options:NSMatchingReportCompletion range:NSMakeRange(0, str.length)];  // 返回多个匹配结果
    if (arr.count>0)
    {
        NSLog(@"匹配成功");
    }else
    {
        NSLog(@"匹配失败");
    }
匹配规则:
[1-9]第一位是1-9之间的数字
[0-9]{4,9}  有4到9个(0-9之间的)数字

3.字符串仅能是中文

^[\\u4e00-\\u9fa5]{0,}$

中级练习

高级练习

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

推荐阅读更多精彩内容

  • 正则表达式又称为正规表示法、规则表达式、常规表示法,英语为Regular Expression,常简写为regex...
    pro648阅读 5,502评论 1 11
  • iOS中使用正则表达式就不得不提NSRegularExpression,所以我们需要先搞清楚什么是NSRegula...
    sunmumu1222阅读 2,415评论 0 4
  • 文章转自:http://www.jianshu.com/p/5d812a6a160a /** *正则表达式简单说明...
    玺睿siri阅读 789评论 1 2
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,106评论 0 20
  • 策略模式(Strategy Pattern)使用了算法族,分别封装起来,让它们可以互相替换,此模式让算法的变化独立...
    仙花斗影阅读 2,941评论 1 9