iOS RegularExpression(正则表达式)

简介: 正则表达式/** [] : 括号内方的是匹配的条件 , 一般来说, 一个[], 就代表匹配一位 [a-z] : 匹配小写 a~z [0-9] : 匹配0~9的数字 另外一种写法 \d == [0-9] ^ : 代表已后面的匹...

正则表达式

/**
 []    : 括号内方的是匹配的条件 , 一般来说, 一个[], 就代表匹配一位
 [a-z] : 匹配小写 a~z
 [0-9] : 匹配0~9的数字   另外一种写法 \d == [0-9]
 ^     : 代表已后面的匹配条件为开头
 $     : 代表以前面一个匹配条件为结果
 {}    : 里面写的是查询次数的条件  {4,9}最少4次, 最多9次  / {4,}最少4此, 最多不限
 ^[^0-9]: ^写在[]内, 就代表不能以括号内的条件作为开头
 */

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //1. 获取一个要匹配的字符串
    NSString *URLStr = @"1234324";

    //2. Pattern : 正则表达式语句 (语法规则)
    NSString *pattern = @"^[1-9][0-9]{4,11}$";
    
    //3. 创建正则表达式对象
    //NSRegularExpression 正则表达式对象
    //NSRegularExpressionCaseInsensitive: 忽略大小写
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
    
    //4. 匹配
    // 只匹配一次
    //regex firstMatchInString:<#(nonnull NSString *)#> options:<#(NSMatchingOptions)#> range:<#(NSRange)#>
    
    // 匹配多次结果
    //matchesInString: 需要匹配的字符串
    //options: NSMatchingReportCompletion 一般使用这个, 匹配到了就会返回结果
    //range : 范围
    NSArray *resultArray = [regex matchesInString:URLStr options:NSMatchingReportCompletion range:NSMakeRange(0, URLStr.length)];
    
    //5. 获取匹配到的数据
    if (resultArray.count) {
        // 匹配到了结果
        NSLog(@"匹配到了结果, 有% ld 个", resultArray.count);
    } else {
        // 没有匹配到结果
        NSLog(@"没有匹配的结果");
    }
}
@end

目录
相关文章
|
机器学习/深度学习 移动开发 JavaScript
iOS小技能:NSPredicate在正则表达式的应用【下篇】
应用案例: 商品分类名称(仅支持数字、字母、中文、斜杠\、横杠",且不能以符号开头)
104 0
iOS小技能:NSPredicate在正则表达式的应用【下篇】
|
iOS开发
IOS常用正则表达式判断
IOS常用正则表达式判断
61 0
|
开发工具 iOS开发
iOS中正则表达式的使用
iOS中正则表达式的使用
275 0
|
iOS开发
iOS 正则表达式细说
ios正则表达式细说(一)ios正则表达式细说(二)
911 0
|
数据安全/隐私保护 iOS开发 Perl
|
iOS开发 开发工具