正则表达式可以帮我们描述非常复杂的文本格式,通过这些文本格式就可以对文本数据进行检索 替换 修改操作
初级练习
- 创建一个正则表达式对象
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,}$
网友评论