#import "viewcontroller.h"
#import "nsstring+regularexpression.h"
@inte***ce
viewcontroller ()
@end
@implementation
viewcontroller
- (void)viewdidload
- (void)test2
$ // 必須從頭匹配到尾
// ^ 指定正則從最開始就必須匹配
// $ 指定正則從匹配開始一直檢驗到結尾
// nsstring *pattern = @"^[1-9]\\d$";
//
// nsstring *qq = @"34567890";
// nsstring *result = [qq firstmatchstringwithpattern:pattern];
// nslog(@"%@", result);
//匹配規則:以0或86或空開頭,後面第乙個數字為"1",當第二數字為 "3,5,8" 第三個數字為"0-9",當第二數字為"7" 第三個數字為"6或7或8",當第二個數字為"4"時,第三個數字為"5或7",手機號碼位數為11位.
// | 表示 或者關係
// (0|86)? 1 (([358][0-9]) | (7[678]) | (4[57])) \d
nsstring *pattern = @"^(0|86)?1(([358][0-9])|(7[678])|(4[57]))\\d$";
nsstring *phone = @"013760671969";
nsstring *result = [phone firstmatchstringwithpattern:pattern];
nslog(@"%@", result);
}- (void)test
"; // 表示重複10次
// nsstring *pattern = @"6"; // 表示重複5到10次都是匹配的
// nsstring *pattern = @"德碼西亞(66)?"; // ? 類似於bool, 表示可有可無
// (66)? 表示66可有可無, 66? 表示最後乙個6可有可無 ()表示整體, 優先
// nsstring *pattern = @"德碼西亞6*"; // * 表示 0 到 多次重複
nsstring *pattern = @"\\w+"; // \w 表示數字/英文/中文/下劃線, + 表示重複1到多次
// 正規表示式很容易出錯, 因此要注意錯誤處理
nserror *error;
// oc中使用正規表示式 : nsregularexpression
nsregularexpression *expression = [nsregularexpression regularexpressionwithpattern:pattern options:0 error:&error];
if (error)
// // 從content的指定範圍字串查詢第乙個匹配的內容
// nstextcheckingresult *result = [expression firstmatchinstring:content options:0 range:nsmakerange(0, content.length)];
//// // nstextcheckingresult 正則匹配的結果
// if (result) else
nsarray
*resultarray = [expression matchesinstring:content options:0 range:nsmakerange(0, content.length)];
// 如果匹配不到結果, 仍然能返回陣列, 但是元素個數為0
if (resultarray.count != 0)
} else
}@end
實用正規表示式
匹配中文字元的正規表示式 u4e00 u9fa5 評注 匹配中文還真是個頭疼的事,有了這個表示式就好辦了 匹配雙位元組字元 包括漢字在內 x00 xff 評注 可以用來計算字串的長度 乙個雙位元組字元長度計2,ascii字元計1 匹配空白行的正規表示式 n s r 評注 可以用來刪除空白行 匹配ht...
實用的正規表示式
驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 9 驗證非負整數 正整數...
實用的正規表示式
大於0 的數字 1 9 0 9 d 0 d d 非負整數.d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9...