iOS开发 正则表达式

正则表达式是通过特定的语法来查找指定字符串中的符合要求的子串,比如在一串数字中找到电话号,多用于图文混排

正则表达式基本语法:

简单几个例子

1.@"abc" : 在目标字符串中查找内容为 @"abc"的字串

2.@"[abc]": 在目标字符串中查找内容为 @"a" 或者 @"b" 或者 @"c"的字串

3.@"[0-9]": 在目标字符串中查找内容为 数字的字串 如@"1", @"2";

4.@"[0-9][a-z]" :在目标字符串中查找内容为 一个数字后有一个字母的字串, 如@"1a", @"1d"

5.@"[0-9a-z]" 在目标字符串中查找内容为 字母或数字的子串 如@"1" ,@"z"

还有很多不一一写出来了, 一般也用不到,有需要可以再网上搜

开发中正则表达式的使用

定义一个包含电话号码的字符串,

 

 

 NSString *str =@"hjadhj1233asdwa51013223332333jkhsdkj123456789511hwua5462jsn";


这里的电话号码是13223332333
用正则表达式找打它
定义一个规则对象

 NSRegularExpression *a = [[NSRegularExpressionalloc] initWithPattern:@"1[1356789][0-9]{9}"options:0 error:nil];

pattern 就是规则 以1开头 1或3或56789第二, 后面有九个数字{}代表重复次数,{9}表示重复9次,也可以这么写{1, 3}表示重复1次或者3次都符合规则
然后用定义好的规则检验字符串, 用一个数组保存结果集

 NSArray *array =  [amatchesInString:str options:0 range:NSMakeRange(0, str.length)];

打印array


 NSLog(@"%@", array);

 // 打印结果

    for (NSTextCheckingResult * res in array) {

        NSLog(@" %@  %@", NSStringFromRange(res.range), [str substringWithRange:res.range]);

    }




找到一个结果, 从第18位开始, 长度为11
以后会继续完善,有什么不对的地方欢迎指正


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值