正則表達式

用法。常用正則表達式。詳細用法?


//正則表達式:記錄文本規則的代碼

//常用的正則表達式的地方:登錄,密碼等格式的正確性.注意:正則只能判斷是否符合規則,不能判斷輸入信息的有效性

//使用正則表達式判斷某個字符串是否符合當前規則

NSString *testStr =@"@明月幾時有#千里共嬋娟# http://www.now.com";

//正則表達式

NSString *pattern =@"(@\\w+)|(#\\w+#)|(http(s)?://([A-Za-z0-9._-]+(/)?)*)";

NSError *error =nil;

//根據正則表達式創建正則對象

//第一個參數:正則表達式

//第二個參數:正則選項,填regularExpressionWithPattern或者0

//第三個參數:返回的錯誤信息

NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&error];

//正則返回參數,返回的參數是一個數組,數組中的元素類型是NSTextCheckingResult

//第一個參數:被搜索的字符串

//第二個參數:選項,一般填NSMatchingReportProgress或者直接填0

//第三個參數:搜索范圍NSMakeRange(0, testStr.length):搜索整個字符串

NSArray ?*resultArray = [regular matchesInString:testSt roptions:NSMatchingReportProgress range:NSMakeRange(0, testStr.length)];

[resultArray enumerateObjectsUsingBlock:^(NSTextCheckingResult *_Nonnullobj,NSUIntegeridx,BOOL *_Nonnullstop) {

//獲取匹配的字符串的范圍

NSRange range = obj.range;

NSString *str = [testStr substringWithRange:range];

NSLog(@"%@",str);

}];


常用的正則表達式

/**

*手機號碼:

* 13[0-9], 14[5,7], 15[0, 1, 2, 3, 5, 6, 7, 8, 9], 17[6, 7, 8], 18[0-9], 170[0-9]

*移動號段: 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705

*聯通號段: 130,131,132,155,156,185,186,145,176,1709

*電信號段: 133,153,180,181,189,177,1700

*/

NSString *MOBILE =@"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|70)\\d{8}$";

/**

*中國移動:China Mobile

* 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705

*/

NSString *CM =@"(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(^1705\\d{7}$)";

/**

*中國聯通:China Unicom

* 130,131,132,155,156,185,186,145,176,1709

*/

NSString *CU =@"(^1(3[0-2]|4[5]|5[56]|7[6]|8[56])\\d{8}$)|(^1709\\d{7}$)";

/**

*中國電信:China Telecom

* 133,153,180,181,189,177,1700

*/

NSString *CT =@"(^1(33|53|77|8[019])\\d{8}$)|(^1700\\d{7}$)";

/**

25 ????????*大陸地區固話及小靈通

26 ????????*區號:010,020,021,022,023,024,025,027,028,029

27 ????????*號碼:七位或八位

28 ????????*/

// NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";

郵箱:

@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{1,5}"

判斷URL

@"(@\\w+)|(#\\w+#)|(http(s)?://([A-Za-z0-9._-]+(/)?)*)"

判斷## @ URL

@"(@([\u4e00-\u9fa5A-Z0-9a-z(é|?|ê|è|à|a|?|á|ù|ü|?|ú|ì|?|?|í)._-]+))|(#[\u4e00-\u9fa5A-Z0-9a-z(é|?|ê|è|à|a|?|á|ù|ü|?|ú|ì|?|?|í)._-]+#)|(%s*r)+|(http(s)?://([A-Z0-9a-z._-]*(/)?)*)"

表情正則

@"\\[[a-zA-Z0-9\\u4e00-\\u9fa5]+]"

手機號碼

[0-9]{11,11}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容