正則表達(dá)式可以幫我們描述非常復(fù)雜的文本格式,通過這些文本格式就可以對(duì)文本數(shù)據(jù)進(jìn)行檢索 替換 修改操作
初級(jí)練習(xí)
- 創(chuàng)建一個(gè)正則表達(dá)式對(duì)象
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[0-8]{5,12}" options:NSRegularExpressionCaseInsensitive error:nil];
NSRegularExpressionCaseInsensitive // 大小寫區(qū)分
1.匹配電話號(hào)碼
NSString *str = @"18345676478";
// 創(chuàng)建正則表達(dá)式對(duì)象 匹配規(guī)則
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"1[358]\\d{9}" options:NSRegularExpressionCaseInsensitive error:nil];
// 匹配結(jié)果
NSArray *arr = [regex matchesInString:str options:NSMatchingReportCompletion range:NSMakeRange(0, str.length)];
if (arr.count>0)
{
NSLog(@"匹配成功");
}else
{
NSLog(@"匹配失敗");
}
匹配規(guī)則:
1:代表第一位只能是1
[358]:代表第二位只能是358中的一個(gè)
\\d{9}: \轉(zhuǎn)義 \d代表只能是數(shù)字 {9}前面的數(shù)字為9個(gè)
2.匹配qq號(hào)碼
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)]; // 返回多個(gè)匹配結(jié)果
if (arr.count>0)
{
NSLog(@"匹配成功");
}else
{
NSLog(@"匹配失敗");
}
匹配規(guī)則:
[1-9]第一位是1-9之間的數(shù)字
[0-9]{4,9} 有4到9個(gè)(0-9之間的)數(shù)字
3.字符串僅能是中文
^[\\u4e00-\\u9fa5]{0,}$