正则表达式
/**
[] : 括号内方的是匹配的条件 , 一般来说, 一个[], 就代表匹配一位
[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